/*
 * TPP App Shell — Dashboard Layout (sidebar + main)
 * Version: 1.0 · 2026-08-28
 *
 * 从 class-ui-helper.php print_layout_css() 提取，改为 CSS 文件 enqueue 到 <head>，
 * 消除页面底部 inline <style> 导致的 FOUC（Flash of Unstyled Content）。
 *
 * 作用域：body.tpp-app（TPP Dashboard / Manager / Publisher 页面）
 * 不影响访客公开页（demand-square / supply-square / inventory-table）。
 */

/* ========================================
 * App Shell Layout (sidebar + main)
 * ======================================== */
.tpp-layout {
    display: flex;
    min-height: 100vh;
}

/* ---------- Sidebar ---------- */
.tpp-sidebar {
    width: 240px;
    background: var(--tpp-sidebar-bg, #fafafa);
    border-right: 1px solid var(--tpp-border, #e4e7eb);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    /* v6.1.18：侧边栏固定，滚动时一直存现 */
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
}
.tpp-sidebar-brand {
    padding: 20px 24px;
    border-bottom: 1px solid var(--tpp-border-light, #f1f5f9);
}
.tpp-sidebar-brand h2 {
    font-size: var(--tpp-font-size, 15px);
    font-weight: 600;
    color: var(--tpp-text, #1f2937);
    margin: 0;
}
.tpp-sidebar-brand p {
    font-size: 12px;
    color: var(--tpp-text-muted, #94a3b8);
    margin: 4px 0 0;
    line-height: 1.4;
}
.tpp-sidebar-brand small {
    display: block;
    font-size: var(--tpp-font-size-xxs, 11px);
    color: var(--tpp-text-muted, #94a3b8);
    margin-top: 6px;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.tpp-sidebar-user {
    padding: 16px 24px;
    border-bottom: 1px solid var(--tpp-border-light, #f1f5f9);
    font-size: var(--tpp-font-size-sm, 13px);
}
.tpp-sidebar-user strong {
    color: var(--tpp-text, #1f2937);
    display: block;
    font-size: var(--tpp-font-size, 15px);
}
.tpp-sidebar-user span {
    color: var(--tpp-text-muted, #94a3b8);
    font-size: var(--tpp-font-size-xs, 12px);
    display: block;
    margin-top: 2px;
}
.tpp-sidebar-user .tpp-badge {
    margin-top: 6px;
}
.tpp-sidebar-nav {
    padding: 12px 0;
    flex: 1;
}
.tpp-sidebar-nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 24px;
    color: var(--tpp-sidebar-text, #3c434a);
    text-decoration: none;
    font-size: var(--tpp-font-size, 15px);
    border-left: 3px solid transparent;
    transition: var(--tpp-transition, all .15s ease);
}
.tpp-sidebar-nav a:hover {
    background: var(--tpp-bg, #f7f8fa);
    color: var(--tpp-text, #1f2937);
    text-decoration: none;
}
.tpp-sidebar-nav a.active {
    background: var(--tpp-sidebar-active-bg, #ffffff);
    color: var(--tpp-sidebar-active-text, #0f3460);
    border-left-color: var(--tpp-primary, #0f3460);
    font-weight: 500;
}
.tpp-sidebar-nav .icon {
    font-size: 16px;
    width: 20px;
    text-align: center;
}

/* ---------- Submenu (children) ---------- */
.tpp-nav-group {
    display: flex;
    flex-direction: column;
}
.tpp-nav-parent {
    justify-content: space-between !important;
    cursor: pointer;
}
.tpp-nav-caret {
    font-size: 12px;
    opacity: .5;
    transition: transform .2s ease;
    margin-left: auto;
}
.tpp-nav-group.active .tpp-nav-caret {
    transform: rotate(180deg);
}
.tpp-nav-children {
    max-height: 0;
    overflow: hidden;
    transition: max-height .25s ease;
    background: var(--tpp-bg, #f7f8fa);
}
.tpp-nav-group.open .tpp-nav-children {
    max-height: 300px;
}
.tpp-nav-child {
    display: block !important;
    padding: 8px 24px 8px 54px !important;
    font-size: 13px !important;
    color: var(--tpp-text-muted, #6b7280) !important;
    border-left: 3px solid transparent !important;
    font-weight: 400 !important;
}
.tpp-nav-child:hover {
    color: var(--tpp-primary, #0f3460) !important;
    background: transparent !important;
    text-decoration: none !important;
}
.tpp-nav-child.active {
    color: var(--tpp-sidebar-active-text, #0f3460) !important;
    border-left-color: var(--tpp-primary, #0f3460) !important;
    font-weight: 500 !important;
    background: var(--tpp-sidebar-active-bg, #ffffff) !important;
}
.tpp-sidebar-bottom {
    padding: 16px 24px;
    border-top: 1px solid var(--tpp-border-light, #f1f5f9);
}
.tpp-sidebar-bottom a {
    color: var(--tpp-text-muted, #94a3b8);
    text-decoration: none;
    font-size: var(--tpp-font-size-xs, 12px);
}
.tpp-sidebar-bottom a:hover {
    color: var(--tpp-primary, #0f3460);
    text-decoration: underline;
}

/* ---------- Main Content ---------- */
.tpp-main {
    flex: 1;
    padding: 32px 40px;
    min-width: 0;
}
.tpp-main h1 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 4px;
    color: var(--tpp-text, #1f2937);
}
.tpp-main .tpp-sub {
    color: var(--tpp-text-muted, #94a3b8);
    font-size: var(--tpp-font-size, 15px);
    margin-bottom: 24px;
}

/* Unified panel container */
.tpp-panel {
    background: var(--tpp-bg-card, #ffffff);
    border: 1px solid var(--tpp-border-light, #e5e7eb);
    border-radius: 10px;
    padding: 20px 24px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(15,52,96,.04);
}
.tpp-panel-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--tpp-text-muted, #646970);
    text-transform: uppercase;
    letter-spacing: .5px;
    margin: 0 0 16px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--tpp-border-light, #f1f5f9);
}

/* Manager page head (brand moved from sidebar to main) - panel style */
.tpp-pagehead {
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    border: 1px solid var(--tpp-border-light, #e5e7eb);
    border-radius: 10px;
    padding: 20px 24px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(15,52,96,.04);
}
.tpp-pagehead h1 {
    font-size: 22px;
    font-weight: 700;
    margin: 0;
    color: var(--tpp-text, #1f2937);
}
.tpp-pagehead-sub {
    margin: 4px 0 0;
    color: var(--tpp-text-muted, #94a3b8);
    font-size: 13px;
}

/* ========================================
 * Dashboard Stat Grid
 * ======================================== */
.tpp-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--tpp-space-md, 16px);
    margin-bottom: var(--tpp-space-lg, 24px);
}
.tpp-stat-card {
    background: var(--tpp-bg-card, #ffffff);
    border: 1px solid var(--tpp-border-light, #f1f5f9);
    border-radius: var(--tpp-radius-md, 8px);
    padding: 20px;
    box-shadow: var(--tpp-shadow-sm, 0 1px 2px rgba(15,52,96,.06));
}
.tpp-stat-card .num {
    font-size: 28px;
    font-weight: 700;
    color: var(--tpp-primary, #0f3460);
}
.tpp-stat-card .label {
    font-size: var(--tpp-font-size-xs, 12px);
    color: var(--tpp-text-muted, #94a3b8);
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-top: 2px;
}

/* ========================================
 * Dashboard Table (scoped to .tpp-layout to avoid conflicting with visitor pages)
 * ======================================== */
.tpp-layout .tpp-table {
    width: 100%;
    border-collapse: collapse;
}
.tpp-layout .tpp-table th,
.tpp-layout .tpp-table td {
    padding: 10px 14px;
    text-align: left;
    border-bottom: 1px solid var(--tpp-border-light, #f1f5f9);
    font-size: var(--tpp-font-size-sm, 13px);
}
.tpp-layout .tpp-table th {
    font-weight: 600;
    color: var(--tpp-text-muted, #94a3b8);
    font-size: var(--tpp-font-size-xs, 12px);
    text-transform: uppercase;
    letter-spacing: .3px;
}
.tpp-layout .tpp-table tr:hover td {
    background: var(--tpp-bg, #f7f8fa);
}

/* ========================================
 * Dashboard Form Helpers
 * ======================================== */
.tpp-form-row {
    margin-bottom: var(--tpp-space-md, 16px);
}
.tpp-form-row label {
    display: block;
    font-weight: 500;
    font-size: var(--tpp-font-size-sm, 13px);
    margin-bottom: 6px;
    color: var(--tpp-text, #1f2937);
}
.tpp-form-row label em {
    color: var(--tpp-danger, #a93226);
    font-style: normal;
}
.tpp-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--tpp-space-md, 16px);
}
.tpp-form-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--tpp-space-md, 16px);
}

/* ========================================
 * Timeline
 * ======================================== */
.tpp-timeline {
    padding: 0;
    margin: 0;
    list-style: none;
}
.tpp-timeline-item {
    display: flex;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--tpp-border-light, #f1f5f9);
}
.tpp-timeline-item:last-child {
    border-bottom: none;
}
.tpp-timeline-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--tpp-primary, #0f3460);
    margin-top: 5px;
    flex-shrink: 0;
}
.tpp-timeline-dot.success { background: var(--tpp-success, #2f7a4e); }
.tpp-timeline-dot.warning { background: var(--tpp-warning, #b7791f); }
.tpp-timeline-dot.danger { background: var(--tpp-danger, #a93226); }
.tpp-timeline-body {
    flex: 1;
    min-width: 0;
}
.tpp-timeline-title {
    font-weight: 500;
    font-size: var(--tpp-font-size-sm, 13px);
    color: var(--tpp-text, #1f2937);
}
.tpp-timeline-meta {
    font-size: var(--tpp-font-size-xs, 12px);
    color: var(--tpp-text-muted, #94a3b8);
    margin-top: 2px;
}
.tpp-timeline-excerpt {
    font-size: var(--tpp-font-size-sm, 13px);
    color: var(--tpp-text-muted, #94a3b8);
    margin-top: 4px;
}

/* ========================================
 * Empty State
 * ======================================== */
.tpp-layout .tpp-empty {
    text-align: center;
    padding: 40px 20px;
    color: var(--tpp-text-muted, #94a3b8);
}
.tpp-layout .tpp-empty .tpp-empty-icon {
    width: 40px;
    height: 40px;
    margin: 0 auto 12px;
    color: var(--tpp-text-muted, #94a3b8);
}

/* ========================================
 * Responsive
 * ======================================== */
@media (max-width: 1024px) {
    .tpp-main {
        padding: 20px 24px;
    }
    .tpp-sidebar {
        width: 60px;
        overflow: hidden;
    }
    .tpp-sidebar-brand h2,
    .tpp-sidebar-brand p,
    .tpp-sidebar-brand small,
    .tpp-sidebar-user strong,
    .tpp-sidebar-user span,
    .tpp-sidebar-nav a span:last-child,
    .tpp-sidebar-bottom a {
        display: none;
    }
    .tpp-sidebar-nav a {
        justify-content: center;
        padding: 12px;
    }
    .tpp-form-grid,
    .tpp-form-grid-3 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .tpp-stat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ========================================
 * v6.1.20c: 统一 Dashboard Sidebar（首页 + 二级页共用同一套视觉）
 * 目标：背景连续（消除隔裂）、无怪异左边线、导航铺满列宽
 * ======================================== */
#secondary.primary-sidebar {
    background: #ffffff;
    border: 0 none;
    box-sizing: border-box;
}
#secondary.primary-sidebar .sidebar-inner-wrap {
    background: #ffffff;
    padding: 0;
}
#secondary.primary-sidebar .tpp-sidebar-nav {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}
#secondary.primary-sidebar .tpp-sidebar-nav a {
    border-left: 0 none;
}
#secondary.primary-sidebar .tpp-sidebar-nav a.active {
    background: #eef2ff;
    border-left: 0 none;
}

/* v6.1.20d: 消除 sidebar 内部嵌套容器盒模型（首页 = 单个大白容器；二级页多层 div 需全部透明无盒） */
#secondary.primary-sidebar .sidebar-inner-wrap > .widget,
#secondary.primary-sidebar .widget,
#secondary.primary-sidebar .widget .textwidget,
#secondary.primary-sidebar .textwidget > * {
    background: transparent !important;
    border: 0 none !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* v6.1.20e: 清除二级菜单"盒子"——子菜单容器浅灰背景、子项左边线（首页/二级页统一） */
#secondary.primary-sidebar .tpp-nav-children {
    background: transparent !important;
    border: 0 none !important;
    box-shadow: none !important;
}
#secondary.primary-sidebar .tpp-nav-child,
#secondary.primary-sidebar .tpp-nav-child.active {
    border-left: 0 none !important;
}
#secondary.primary-sidebar .tpp-nav-child.active {
    background: #eef2ff !important;
}

/* ===== v6.1.24 CSS 收口：原各模板内联 <style> 合并（模板归属注释） ===== */

/* ----- 来源: inbox.php ----- */
.tpp-pd-container .tpp-csv-section {
    background: #ffffff !important; border: 1px solid #e6e8ee !important; border-radius: 12px !important;
    padding: 20px 24px !important; margin: 0 0 18px 0 !important; box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important; box-sizing: border-box !important;
}
.tpp-pd-container .tpp-csv-section h2 { font-size: 15px !important; font-weight: 700 !important; margin: 0 0 12px 0 !important; line-height: 1.3 !important; color: #0f172a !important; }
.tpp-pd-container .tpp-csv-warning {
    background: #fffbeb !important; border: 1px solid #fde68a !important; border-radius: 10px !important;
    padding: 14px 18px !important; margin: 0 0 18px 0 !important; box-sizing: border-box !important; font-size: 13px !important; color: #92400e !important;
}
.tpp-pd-container .tpp-csv-locked-banner {
    background: #eff6ff !important; border: 1px solid #bfdbfe !important; border-radius: 10px !important;
    padding: 14px 18px !important; margin: 0 0 18px 0 !important; box-sizing: border-box !important; font-size: 13px !important; color: #1e3a8a !important;
}
.tpp-pd-container .tpp-csv-locked-banner strong { color: #1d4ed8 !important; }
.tpp-ce-header-card {
    display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
    align-items: center !important; justify-content: space-between !important; gap: 14px 24px !important;
    box-sizing: border-box !important; background: #f1f5f9 !important; border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important; padding: 14px 20px !important; margin: 0 0 20px 0 !important;
}
.tpp-ce-header-card .tpp-ce-hc-left { display: flex !important; flex-direction: column !important; gap: 4px !important; flex: 1 1 360px !important; min-width: 0 !important; }
.tpp-ce-header-card .tpp-ce-hc-title { font-size: 17px !important; font-weight: 700 !important; color: #0f172a !important; line-height: 1.25 !important; margin: 0 !important; }
.tpp-ce-header-card .tpp-ce-hc-sub   { font-size: 12.5px !important; color: #64748b !important; line-height: 1.45 !important; margin: 0 !important; }
.tpp-ce-header-card .tpp-ce-hc-back {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    padding: 8px 16px !important; border-radius: 8px !important; background: #ffffff !important; color: #0f172a !important;
    font-size: 13px !important; font-weight: 500 !important; text-decoration: none !important; border: 1px solid #cbd5e1 !important;
    line-height: 1.2 !important; white-space: nowrap !important; flex: 0 0 auto !important;
}
@media (max-width: 768px) {
    .tpp-pd-container { padding: 16px 14px 32px !important; }
    .tpp-ce-header-card { padding: 12px 14px !important; }
    .tpp-pd-container .tpp-csv-section { padding: 16px 14px !important; }
}
.tpp-inbox { max-width: 100%; margin: 0; padding: 20px 0; }
.tpp-table { width: 100%; border-collapse: collapse; }
.tpp-table th, .tpp-table td { padding: 8px 12px; border: 1px solid #e0e0e0; text-align: left; }
.tpp-table th { background: #f7f7f7; }

.tpp-inquiry-detail { margin-top: 16px; }
.tpp-card { border: 1px solid #e2e8f0; border-radius: 8px; padding: 20px; background: #fff; margin-bottom: 24px; }
.tpp-inquiry-meta { display: flex; gap: 8px; margin-bottom: 12px; }
.tpp-badge { display: inline-block; padding: 2px 10px; border-radius: 4px; font-size: 12px; background: #e0e7ff; color: #3730a3; }
.tpp-badge-pending { background: #fef3c7; color: #92400e; }
.tpp-badge-replied { background: #dcfce7; color: #166534; }
.tpp-badge-closed { background: #f1f5f9; color: #475569; }
.tpp-badge-intent { background: #ddd6fe; color: #5b21b6; }
.tpp-badge-source { background: #e0e7ff; color: #3730a3; }
.tpp-badge-unverified { background: #fee2e2; color: #991b1b; font-weight: 600; }
.tpp-badge-verified { background: #dcfce7; color: #166534; }
.tpp-from-line { font-size: 14px; color: #475569; margin: 8px 0; }
.tpp-inquiry-message { background: #f8fafc; padding: 12px; border-radius: 6px; font-size: 14px; }

.tpp-thread { margin: 16px 0; padding: 16px; background: #f8fafc; border-radius: 8px; max-height: 500px; overflow-y: auto; }
.tpp-msg { padding: 12px; border-radius: 6px; margin-bottom: 12px; background: #fff; border: 1px solid #e2e8f0; }
.tpp-msg-publisher { background: #eff6ff; border-color: #bfdbfe; }
.tpp-msg-visitor { background: #fffbeb; border-color: #fde68a; }
.tpp-msg-header { display: flex; justify-content: space-between; font-size: 12px; color: #64748b; margin-bottom: 6px; }
.tpp-msg-author { font-weight: 600; }
.tpp-msg-body { font-size: 14px; color: #1e293b; }

.tpp-reply-form-wrap { margin-top: 24px; padding: 20px; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; }
.tpp-reply-form .tpp-form-row { margin-bottom: 12px; }
.tpp-reply-form label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: #334155; }
.tpp-reply-form textarea { width: 100%; padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 14px; box-sizing: border-box; font-family: inherit; resize: vertical; }
.tpp-btn { padding: 8px 16px; border: none; border-radius: 6px; font-size: 14px; cursor: pointer; }
.tpp-btn-primary { background: var(--tpp-primary); color: #fff; }
.tpp-btn-primary:disabled { opacity: 0.6; cursor: not-allowed; }
.tpp-btn-small { padding: 4px 10px; font-size: 12px; background: var(--tpp-primary); color: #fff; text-decoration: none; display: inline-block; }
.tpp-reply-notice { margin-left: 12px; font-size: 13px; }
.tpp-notice { padding: 8px 12px; background: #f1f5f9; border-radius: 6px; color: #475569; font-size: 14px; }
.tpp-notice-error { background: #fee2e2; color: #991b1b; }

/* ----- 来源: my-content.php ----- */
.tpp-section-card {
    background: #ffffff !important; border: 1px solid #e6e8ee !important; border-radius: 12px !important;
    padding: 20px 24px !important; margin: 0 0 18px 0 !important; box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important; box-sizing: border-box !important;
}
.tpp-section-card h2 { font-size: 15px !important; font-weight: 700 !important; margin: 0 0 12px 0 !important; line-height: 1.3 !important; color: #0f172a !important; }
.tpp-ce-header-card {
    display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
    align-items: center !important; justify-content: space-between !important; gap: 14px 24px !important;
    box-sizing: border-box !important; background: #f1f5f9 !important; border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important; padding: 14px 20px !important; margin: 0 0 20px 0 !important;
}
.tpp-ce-header-card .tpp-ce-hc-left { display: flex !important; flex-direction: column !important; gap: 4px !important; flex: 1 1 360px !important; min-width: 0 !important; }
.tpp-ce-header-card .tpp-ce-hc-title { font-size: 17px !important; font-weight: 700 !important; color: #0f172a !important; line-height: 1.25 !important; margin: 0 !important; }
.tpp-ce-header-card .tpp-ce-hc-sub   { font-size: 12.5px !important; color: #64748b !important; line-height: 1.45 !important; margin: 0 !important; }
.tpp-ce-header-card .tpp-ce-hc-back {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    padding: 8px 16px !important; border-radius: 8px !important; background: #ffffff !important; color: #0f172a !important;
    font-size: 13px !important; font-weight: 500 !important; text-decoration: none !important; border: 1px solid #cbd5e1 !important;
    line-height: 1.2 !important; white-space: nowrap !important; flex: 0 0 auto !important;
}
@media (max-width: 768px) {
    .tpp-pd-container { padding: 16px 14px 32px !important; }
    .tpp-ce-header-card { padding: 12px 14px !important; }
    .tpp-section-card { padding: 16px 14px !important; }
}
.tpp-my-content { margin: 0 auto; padding: 0; }
.tpp-my-content h2 { font-size: 15px !important; font-weight: 700 !important; color: #0f172a !important; margin: 24px 0 10px 0 !important; line-height: 1.3 !important; }
.tpp-my-content h2:first-child { margin-top: 0 !important; }
.tpp-table { width: 100% !important; table-layout: auto !important; border-collapse: collapse !important; margin: 0 0 8px 0 !important; font-size: 13px !important; }
.tpp-table th, .tpp-table td { padding: 8px 10px !important; border: 1px solid #e2e8f0 !important; text-align: left !important; vertical-align: middle !important; box-sizing: border-box !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.tpp-table th { background: #f8fafc !important; color: #334155 !important; font-weight: 600 !important; font-size: 12px !important; white-space: normal !important; line-height: 1.35 !important; padding: 10px 10px !important; text-align: center !important; }
.tpp-table th .tpp-th-zh, .tpp-table th .tpp-th-en { display: block !important; line-height: 1.3 !important; }
.tpp-table th .tpp-th-en { font-weight: 500 !important; color: #64748b !important; font-size: 11px !important; }
.tpp-table td { color: #1e293b !important; font-size: 13px !important; line-height: 1.5 !important; }
.tpp-table td:first-child { font-weight: 600 !important; color: #64748b !important; font-family: 'SF Mono', 'Consolas', monospace !important; }
.tpp-table tbody tr:nth-child(even) { background: #fafbfc !important; }
.tpp-table tbody tr:hover { background: #f1f5f9 !important; }
.tpp-cell-title { max-width: none !important; white-space: normal !important; overflow: visible !important; }
.tpp-cell-date { font-size: 12px !important; color: #64748b !important; }
.tpp-cell-actions { white-space: normal !important; overflow: visible !important; display: flex !important; flex-direction: column !important; gap: 4px !important; align-items: flex-start !important; }
.tpp-cell-actions a, .tpp-cell-actions button { font-size: 11px !important; padding: 3px 10px !important; margin: 0 !important; display: block !important; width: 100% !important; max-width: 80px !important; text-align: center !important; line-height: 1.4 !important; box-sizing: border-box !important; }
.tpp-empty { color: #94a3b8 !important; font-size: 13px !important; padding: 16px 0 !important; margin: 0 !important; }
.tpp-per-page-bar { display: flex !important; align-items: center !important; gap: 10px !important; margin: 0 0 20px 0 !important; padding: 10px 16px !important; background: #f8fafc !important; border: 1px solid #e2e8f0 !important; border-radius: 8px !important; font-size: 13px !important; color: #475569 !important; }
.tpp-per-page-select { padding: 5px 10px !important; font-size: 13px !important; border: 1px solid #cbd5e1 !important; border-radius: 4px !important; background: #fff !important; color: #334155 !important; cursor: pointer !important; }
.tpp-pagination { display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; margin: 16px 0 8px 0 !important; padding: 10px 0 !important; border-top: 1px solid #e2e8f0 !important; }
.tpp-page-info { font-size: 12px !important; color: #64748b !important; margin-right: auto !important; }
.tpp-page-link { display: inline-block !important; padding: 4px 10px !important; font-size: 12px !important; border: 1px solid #cbd5e1 !important; border-radius: 4px !important; text-decoration: none !important; color: #334155 !important; background: #fff !important; line-height: 1.4 !important; }
.tpp-page-link:hover { background: #f1f5f9 !important; border-color: #94a3b8 !important; }
.tpp-page-link.active { background: #2563eb !important; color: #fff !important; border-color: #2563eb !important; font-weight: 600 !important; }
.tpp-page-link.disabled { color: #cbd5e1 !important; background: #f8fafc !important; cursor: default !important; }

/* ----- 来源: profile.php ----- */
.tpp-pd-container .tpp-section-card {
    background: #ffffff !important; border: 1px solid #e6e8ee !important; border-radius: 12px !important;
    padding: 20px 24px !important; margin: 0 0 18px 0 !important; box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important; box-sizing: border-box !important;
}
.tpp-ce-header-card {
    display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
    align-items: center !important; justify-content: space-between !important; gap: 14px 24px !important;
    box-sizing: border-box !important; background: #f1f5f9 !important; border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important; padding: 14px 20px !important; margin: 0 0 20px 0 !important;
}
.tpp-ce-header-card .tpp-ce-hc-left { display: flex !important; flex-direction: column !important; gap: 4px !important; flex: 1 1 360px !important; min-width: 0 !important; }
.tpp-ce-header-card .tpp-ce-hc-title { font-size: 17px !important; font-weight: 700 !important; color: #0f172a !important; line-height: 1.25 !important; margin: 0 !important; }
.tpp-ce-header-card .tpp-ce-hc-sub   { font-size: 12.5px !important; color: #64748b !important; line-height: 1.45 !important; margin: 0 !important; }
.tpp-ce-header-card .tpp-ce-hc-back {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    padding: 8px 16px !important; border-radius: 8px !important; background: #ffffff !important; color: #0f172a !important;
    font-size: 13px !important; font-weight: 500 !important; text-decoration: none !important; border: 1px solid #cbd5e1 !important;
    line-height: 1.2 !important; white-space: nowrap !important; flex: 0 0 auto !important;
}
@media (max-width: 768px) {
    .tpp-pd-container { padding: 16px 14px 32px !important; }
    .tpp-ce-header-card { padding: 12px 14px !important; }
    .tpp-pd-container .tpp-section-card { padding: 16px 14px !important; }
}
.tpp-profile { max-width: 100%; margin: 0; padding: 20px 0; }
.tpp-profile-card { background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 24px; }
.tpp-profile-table { width: 100%; border-collapse: collapse; }
.tpp-profile-table th, .tpp-profile-table td { padding: 8px 12px; text-align: left; border-bottom: 1px solid #f0f0f0; }
.tpp-profile-table th { width: 150px; color: #555; }

/* ----- 来源: csv-import.php ----- */
/* CSV 页卡片化：原 tpp-csv-section / tpp-csv-warning / tpp-csv-locked-banner 对齐 Dashboard 卡片视觉 */
.tpp-pd-container .tpp-csv-section {
    background: #ffffff !important; border: 1px solid #e6e8ee !important; border-radius: 12px !important;
    padding: 20px 24px !important; margin: 0 0 18px 0 !important; box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important; box-sizing: border-box !important;
}
.tpp-pd-container .tpp-csv-section h2 { font-size: 15px !important; font-weight: 700 !important; margin: 0 0 12px 0 !important; line-height: 1.3 !important; color: #0f172a !important; }
.tpp-pd-container .tpp-csv-warning {
    background: #fffbeb !important; border: 1px solid #fde68a !important; border-radius: 10px !important;
    padding: 14px 18px !important; margin: 0 0 18px 0 !important; box-sizing: border-box !important; font-size: 13px !important; color: #92400e !important;
}
.tpp-pd-container .tpp-csv-locked-banner {
    background: #eff6ff !important; border: 1px solid #bfdbfe !important; border-radius: 10px !important;
    padding: 14px 18px !important; margin: 0 0 18px 0 !important; box-sizing: border-box !important; font-size: 13px !important; color: #1e3a8a !important;
}
.tpp-pd-container .tpp-csv-locked-banner strong { color: #1d4ed8 !important; }
.tpp-ce-header-card {
    display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
    align-items: center !important; justify-content: space-between !important; gap: 14px 24px !important;
    box-sizing: border-box !important; background: #f1f5f9 !important; border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important; padding: 14px 20px !important; margin: 0 0 20px 0 !important;
}
.tpp-ce-header-card .tpp-ce-hc-left { display: flex !important; flex-direction: column !important; gap: 4px !important; flex: 1 1 360px !important; min-width: 0 !important; }
.tpp-ce-header-card .tpp-ce-hc-title { font-size: 17px !important; font-weight: 700 !important; color: #0f172a !important; line-height: 1.25 !important; margin: 0 !important; }
.tpp-ce-header-card .tpp-ce-hc-sub   { font-size: 12.5px !important; color: #64748b !important; line-height: 1.45 !important; margin: 0 !important; }
.tpp-ce-header-card .tpp-ce-hc-back {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    padding: 8px 16px !important; border-radius: 8px !important; background: #ffffff !important; color: #0f172a !important;
    font-size: 13px !important; font-weight: 500 !important; text-decoration: none !important; border: 1px solid #cbd5e1 !important;
    line-height: 1.2 !important; white-space: nowrap !important; flex: 0 0 auto !important;
}
@media (max-width: 768px) {
    .tpp-pd-container { padding: 16px 14px 32px !important; }
    .tpp-ce-header-card { padding: 12px 14px !important; }
    .tpp-pd-container .tpp-csv-section { padding: 16px 14px !important; }
}
.tpp-csv-import { max-width: 900px; margin: 0 auto; padding: 20px; }
.tpp-csv-warning { background: #fff8e5; border-left: 4px solid #ffb900; padding: 12px 16px; margin-bottom: 24px; }
/* v4.10.9: 锁定模式横幅 */
.tpp-csv-locked-banner {
    background: var(--tpp-primary-light, #e6f0ff);
    border: 1px solid var(--tpp-primary, #165dff);
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 16px;
    font-size: 13px;
    color: var(--tpp-text, #333);
}
.tpp-csv-locked-banner strong { color: var(--tpp-primary, #165dff); }
.tpp-csv-section { background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 20px; margin-bottom: 16px; }
.tpp-csv-section h2 { margin-top: 0; }
.tpp-csv-templates { display: flex; gap: 12px; }
.tpp-csv-category label { display: inline-block; margin-right: 24px; }
.tpp-progress-bar { width: 100%; background: #e0e0e0; border-radius: 4px; height: 20px; overflow: hidden; margin-bottom: 8px; }
.tpp-progress-fill { height: 100%; background: var(--tpp-primary); transition: width 0.3s; width: 0%; }
.tpp-table { width: 100%; border-collapse: collapse; }
.tpp-table th, .tpp-table td { padding: 8px 12px; border: 1px solid #e0e0e0; text-align: left; }
.tpp-table th { background: #f7f7f7; }

/* ----- 来源: my-inquiries.php ----- */
.tpp-ce-header-card {
        display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
        align-items: center !important; justify-content: space-between !important; gap: 14px 24px !important;
        box-sizing: border-box !important; background: #f1f5f9 !important; border: 1px solid #cbd5e1 !important;
        border-radius: 10px !important; padding: 14px 20px !important; margin: 0 0 20px 0 !important;
    }
    .tpp-ce-header-card .tpp-ce-hc-left { display: flex !important; flex-direction: column !important; gap: 4px !important; flex: 1 1 360px !important; min-width: 0 !important; }
    .tpp-ce-header-card .tpp-ce-hc-title { font-size: 17px !important; font-weight: 700 !important; color: #0f172a !important; line-height: 1.25 !important; margin: 0 !important; }
    .tpp-ce-header-card .tpp-ce-hc-sub   { font-size: 12.5px !important; color: #64748b !important; line-height: 1.45 !important; margin: 0 !important; }
    .tpp-ce-header-card .tpp-ce-hc-back {
        display: inline-flex !important; align-items: center !important; justify-content: center !important;
        padding: 8px 16px !important; border-radius: 8px !important; background: #ffffff !important; color: #0f172a !important;
        font-size: 13px !important; font-weight: 500 !important; text-decoration: none !important; border: 1px solid #cbd5e1 !important;
        line-height: 1.2 !important; white-space: nowrap !important; flex: 0 0 auto !important;
    }
    @media (max-width: 768px) {
        .tpp-ce-header-card { padding: 12px 14px !important; }
    }
    .tpp-inbox { max-width: 100%; margin: 0; padding: 20px 0; }
    .tpp-subtitle { color: var(--tpp-text-sub); font-size: var(--tpp-font-size-sm); margin-bottom: 16px; }
    .tpp-table { width: 100%; border-collapse: collapse; }
    .tpp-table th, .tpp-table td { padding: 8px 12px; border: 1px solid var(--tpp-border); text-align: left; }
    .tpp-table th { background: var(--tpp-border-light); }

    .tpp-inquiry-detail { margin-top: 16px; }
    .tpp-card { border: 1px solid var(--tpp-border); border-radius: var(--tpp-radius); padding: 20px; background: var(--tpp-bg-card); margin-bottom: 24px; }
    .tpp-inquiry-meta { display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
    .tpp-badge { display: inline-block; padding: 2px 10px; border-radius: var(--tpp-radius-sm); font-size: 12px; background: var(--tpp-primary-light); color: var(--tpp-primary); }
    .tpp-badge-pending { background: var(--tpp-warning-light); color: var(--tpp-warning); }
    .tpp-badge-replied { background: var(--tpp-success-light); color: var(--tpp-success); }
    .tpp-badge-closed { background: var(--tpp-border-light); color: var(--tpp-text-sub); }
    .tpp-badge-intent { background: #ddd6fe; color: #5b21b6; }
    .tpp-badge-source { background: var(--tpp-primary-light); color: var(--tpp-primary); }
    .tpp-badge-unverified { background: var(--tpp-danger-light); color: var(--tpp-danger); font-weight: 600; }
    .tpp-badge-verified { background: var(--tpp-success-light); color: var(--tpp-success); }
    .tpp-from-line { font-size: 14px; color: var(--tpp-text-sub); margin: 8px 0; }
    .tpp-inquiry-message { background: var(--tpp-bg); padding: 12px; border-radius: var(--tpp-radius-sm); font-size: 14px; }

    .tpp-thread { margin: 16px 0; padding: 16px; background: var(--tpp-bg); border-radius: var(--tpp-radius); max-height: 500px; overflow-y: auto; }
    .tpp-msg { padding: 12px; border-radius: var(--tpp-radius-sm); margin-bottom: 12px; background: var(--tpp-bg-card); border: 1px solid var(--tpp-border); }
    .tpp-msg-publisher { background: #eff6ff; border-color: #bfdbfe; }
    .tpp-msg-visitor { background: #fffbeb; border-color: #fde68a; }
    .tpp-msg-header { display: flex; justify-content: space-between; font-size: 12px; color: var(--tpp-text-muted); margin-bottom: 6px; }
    .tpp-msg-author { font-weight: 600; }
    .tpp-msg-body { font-size: 14px; color: var(--tpp-text); }

    .tpp-reply-form-wrap { margin-top: 24px; padding: 20px; background: var(--tpp-bg-card); border: 1px solid var(--tpp-border); border-radius: var(--tpp-radius); }
    .tpp-reply-form .tpp-form-row { margin-bottom: 12px; }
    .tpp-reply-form label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: var(--tpp-text); }
    .tpp-reply-form textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--tpp-border); border-radius: var(--tpp-radius-sm); font-size: 14px; box-sizing: border-box; font-family: inherit; resize: vertical; }
    .tpp-btn { padding: 8px 16px; border: none; border-radius: var(--tpp-radius-sm); font-size: 14px; cursor: pointer; }
    .tpp-btn-primary { background: var(--tpp-primary); color: #fff; }
    .tpp-btn-primary:disabled { opacity: 0.6; cursor: not-allowed; }
    .tpp-btn-secondary { background: var(--tpp-border-light); color: var(--tpp-text); }
    .tpp-btn-secondary:disabled { opacity: 0.6; cursor: not-allowed; }
    .tpp-btn-small { padding: 4px 10px; font-size: 12px; background: var(--tpp-primary); color: #fff; text-decoration: none; display: inline-block; }
    .tpp-reply-notice { margin-left: 12px; font-size: 13px; }
    .tpp-notice { padding: 8px 12px; background: var(--tpp-border-light); border-radius: var(--tpp-radius-sm); color: var(--tpp-text-sub); font-size: 14px; }
    .tpp-notice-error { background: var(--tpp-danger-light); color: var(--tpp-danger); }
    .tpp-notice-warning { background: var(--tpp-warning-light); color: var(--tpp-warning); }

    .tpp-close-wrap { margin-top: 24px; padding-top: 16px; border-top: 1px dashed var(--tpp-border); }
    .tpp-close-hint { margin-left: 12px; font-size: 12px; color: var(--tpp-text-muted); }

/* ----- 来源: content-editor.php ----- */
.tpp-ce-layout { display:grid; grid-template-columns: 320px 1fr; gap:24px; }
@media (max-width: 960px) { .tpp-ce-layout { grid-template-columns: 1fr; } }

/* v4.10.9: 锁定模式 —— PHP 已不输出侧边栏，直接单列布局
   v4.10.25: .tpp-pd-container 统一负责 1280px 居中，.tpp-ce-main 不再加第二层 max-width
   避免双重约束导致录入卡异常变窄 */
.tpp-pd-container.tpp-ce-locked .tpp-ce-layout { grid-template-columns: 1fr !important; }
.tpp-pd-container.tpp-ce-locked .tpp-ce-main { width: 100% !important; max-width: none !important; margin: 0 !important; }
.tpp-pd-container.tpp-ce-locked .tpp-ce-banner-info { display:none !important; } /* 隐藏原逻辑提示 */

/* v4.10.9: 锁定模式顶部类型指示条 */
.tpp-ce-lock-banner {
	background: var(--tpp-primary-light);
	border: 1px solid var(--tpp-primary);
	border-radius: 10px;
	padding: 14px 20px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
}
.tpp-ce-lock-banner .tpp-ce-lock-icon {
	font-size: 20px;
	flex-shrink: 0;
}
.tpp-ce-lock-banner .tpp-ce-lock-info {
	flex: 1;
}
.tpp-ce-lock-banner .tpp-ce-lock-type {
	font-weight: 600;
	color: var(--tpp-primary);
	font-size: 16px;
}
.tpp-ce-lock-banner .tpp-ce-lock-desc {
	color: var(--tpp-text-muted);
	font-size: 13px;
	margin-top: 4px;
}
.tpp-ce-lock-banner .tpp-ce-lock-back {
	color: var(--tpp-primary);
	text-decoration: none;
	font-size: 13px;
	padding: 6px 14px;
	border: 1px solid var(--tpp-primary);
	border-radius: 6px;
	flex-shrink: 0;
}
.tpp-ce-lock-banner .tpp-ce-lock-back:hover {
	background: var(--tpp-primary);
	color: #fff;
}

/* 左侧：3 个分类决策 Radio */
.tpp-ce-side .tpp-card { padding:20px; }
.tpp-ce-field { margin-bottom:20px; }
.tpp-ce-field-label { font-size:13px; font-weight:600; color:var(--tpp-text); margin-bottom:8px; display:block; }
.tpp-ce-field-desc  { font-size:12px; color:var(--tpp-text-muted); margin-bottom:10px; line-height:1.5; }
.tpp-ce-radio-row { display:flex; gap:12px; flex-wrap:wrap; }
.tpp-ce-radio {
	flex:1; min-width:130px;
	border:1px solid var(--tpp-border-light);
	border-radius:8px;
	padding:14px 16px;
	cursor:pointer;
	background:#fff;
	transition: all .15s;
}
.tpp-ce-radio:hover { border-color:var(--tpp-primary); }
.tpp-ce-radio.active {
	border-color:var(--tpp-primary);
	background:var(--tpp-primary-light);
}
.tpp-ce-radio input { margin-right:8px; accent-color:var(--tpp-primary); }
.tpp-ce-radio-main { font-weight:600; color:var(--tpp-text); font-size:14px; }
.tpp-ce-radio-sub  { font-size:12px; color:var(--tpp-text-muted); margin-top:4px; }

.tpp-ce-banner-info {
	background: var(--tpp-warning-light);
	color: var(--tpp-warning);
	border: 1px solid #f1e2b7;
	border-radius:8px;
	padding:10px 14px;
	font-size:12px;
	line-height:1.6;
}
.tpp-ce-banner-ok {
	background: var(--tpp-success-light);
	color: var(--tpp-success);
	border: 1px solid #c1e6ca;
	border-radius:8px;
	padding:10px 14px;
	font-size:12px;
	line-height:1.6;
}
.tpp-ce-banner-danger {
	background: var(--tpp-danger-light);
	color: var(--tpp-danger);
	border: 1px solid #f5c3c6;
	border-radius:8px;
	padding:10px 14px;
	font-size:12px;
	line-height:1.6;
}

/* 右侧：面板切换 */
.tpp-ce-panel { display:none; }
.tpp-ce-panel.active { display:block; }

/* 结构化表单：复用 stock-edit 的样式 */
.tpp-ce-stock-form-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px 24px; }
.tpp-ce-stock-form-grid.cols-2 { grid-template-columns:repeat(2,1fr); }
.tpp-ce-stock-field label { display:block; font-size:13px; font-weight:500; margin-bottom:6px; color:var(--tpp-text); }
.tpp-ce-stock-field label .tpp-unit { color:var(--tpp-text-muted); font-weight:400; font-size:12px; margin-left:4px; }
.tpp-ce-stock-field label .tpp-req { color:var(--tpp-danger); }
.tpp-ce-stock-field.tpp-hidden { display:none; }
.tpp-ce-stock-section { font-size:15px; font-weight:600; margin-bottom:16px; padding-bottom:8px; border-bottom:1px solid var(--tpp-border-light); color:var(--tpp-text); }
@media (max-width:1200px) { .tpp-ce-stock-form-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:768px)  { .tpp-ce-stock-form-grid, .tpp-ce-stock-form-grid.cols-2 { grid-template-columns:1fr; } }

/* RTE 面板样式 */
.tpp-ce-rte-section { font-size:15px; font-weight:600; margin-bottom:16px; padding-bottom:8px; border-bottom:1px solid var(--tpp-border-light); color:var(--tpp-text); }
.tpp-ce-rte-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px 24px; }
@media (max-width:768px)  { .tpp-ce-rte-grid { grid-template-columns:1fr; } }
.wp-editor-wrap { margin-bottom: 8px; }

/* v4.4: Session 累积列表 + 附言弹窗 */
.tpp-ce-session-box { margin-top: 18px; }
.tpp-ce-session-title { font-size:15px; font-weight:600; color:var(--tpp-text); margin-bottom:10px; }
.tpp-ce-session-table { width:100%; border-collapse:collapse; font-size:13px; background:#fff; }
.tpp-ce-session-table th, .tpp-ce-session-table td { border:1px solid var(--tpp-border-light); padding:8px 10px; text-align:left; vertical-align:middle; }
.tpp-ce-session-table th { background:var(--tpp-primary-light); color:var(--tpp-text); font-weight:600; }
.tpp-ce-session-table td .tpp-ce-del { color:var(--tpp-danger); cursor:pointer; background:none; border:none; font-size:13px; padding:4px 8px; border-radius:4px; }
.tpp-ce-session-table td .tpp-ce-del:hover { background:var(--tpp-danger-light); }
.tpp-ce-session-empty { font-size:12px; color:var(--tpp-text-muted); padding:10px 0; }
.tpp-ce-session-actions { margin-top:14px; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.tpp-ce-badge { font-size:12px; color:var(--tpp-text-muted); }

/* 附言 modal */
.tpp-note-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:9999; align-items:center; justify-content:center; padding:20px; }
.tpp-note-overlay.open { display:flex; }
.tpp-note-dialog { background:#fff; border-radius:12px; width:100%; max-width:680px; max-height:90vh; display:flex; flex-direction:column; box-shadow:0 12px 40px rgba(0,0,0,.2); }
.tpp-note-head { padding:18px 22px; border-bottom:1px solid var(--tpp-border-light); }
.tpp-note-head h3 { margin:0; font-size:16px; color:var(--tpp-text); }
.tpp-note-head p { margin:6px 0 0; font-size:12px; color:var(--tpp-text-muted); }
.tpp-note-body { padding:18px 22px; overflow:auto; flex:1; }
.tpp-note-editor { min-height:180px; border:1px solid var(--tpp-border); border-radius:8px; padding:12px 14px; font-size:14px; line-height:1.6; outline:none; background:#fff; }
.tpp-note-editor:focus { border-color:var(--tpp-primary); }
.tpp-note-editor:empty:before { content:attr(data-placeholder); color:var(--tpp-text-muted); pointer-events:none; }
.tpp-note-tools { margin:8px 0 0; display:flex; gap:6px; flex-wrap:wrap; }
.tpp-note-tools button { background:var(--tpp-border-light); border:1px solid var(--tpp-border); border-radius:6px; padding:5px 10px; font-size:13px; cursor:pointer; color:var(--tpp-text); }
.tpp-note-tools button:hover { background:var(--tpp-primary-light); }
.tpp-note-foot { padding:14px 22px; border-top:1px solid var(--tpp-border-light); display:flex; gap:12px; justify-content:flex-end; }
/* ===== v4.10.24: Publisher 二级页统一侧边栏（完全对齐 Dashboard） ===== */
	
	
	/* 隐藏 sidebar（整块 0 宽，不再缩窄到 200px） — 水印 .tpp-pd-container 保证不污染其他页面 */
	
	
	/* 主题祖先容器 reset（:has 支持时生效；fallback 由下面 JS 强制覆盖） */
	
	/* Editor 额外：顶条 Dashboard 返回按钮 hover、Header 卡样式 */
	.tpp-ce-header-card {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 14px 24px !important;
		box-sizing: border-box !important;
		background: #f1f5f9 !important;
		border: 1px solid #cbd5e1 !important;
		border-radius: 10px !important;
		padding: 14px 20px !important;
		margin: 0 0 20px 0 !important;
	}
	.tpp-ce-header-card .tpp-ce-hc-left { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 14px !important; flex: 1 1 360px !important; min-width: 0 !important; }
	.tpp-ce-header-card .tpp-ce-hc-title { font-size: 17px !important; font-weight: 700 !important; color: #0f172a !important; line-height: 1.25 !important; margin: 0 0 4px 0 !important; }
	.tpp-ce-header-card .tpp-ce-hc-sub   { font-size: 12.5px !important; color: #64748b !important; line-height: 1.45 !important; margin: 0 !important; }
	.tpp-ce-header-card .tpp-ce-hc-back {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 8px 16px !important;
		border-radius: 8px !important;
		background: #ffffff !important;
		color: #0f172a !important;
		font-size: 13px !important;
		font-weight: 500 !important;
		text-decoration: none !important;
		border: 1px solid #cbd5e1 !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
		flex: 0 0 auto !important;
	}
	/* Editor 白色录入卡 */
	.tpp-ce-entry-card {
		background: #ffffff !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 10px !important;
		padding: 22px 26px 26px !important;
		margin: 0 0 18px 0 !important;
		box-sizing: border-box !important;
		max-width: 960px !important; /* v4.10.25: 放宽到 960px，3 列字段不拥挤 */
	}
	.tpp-ce-entry-card h2 { font-size: 16px !important; font-weight: 700 !important; color: #0f172a !important; margin: 0 0 20px 0 !important; line-height: 1.3 !important; }
	/* 字段 3 列网格 */
	.tpp-ce-fields-grid {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		grid-auto-flow: row !important;
		gap: 20px 22px !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.tpp-ce-field-cell {
		display: flex !important;
		flex-direction: column !important;
		gap: 6px !important;
		align-items: stretch !important;
		min-width: 0 !important;
	}
	.tpp-ce-field-cell label {
		font-size: 13px !important;
		font-weight: 600 !important;
		color: #0f172a !important;
		line-height: 1.2 !important;
		margin: 0 !important;
	}
	.tpp-ce-field-cell label span.req::before { content: '*'; color: #dc2626 !important; margin-left: 2px !important; }
	.tpp-ce-field-cell label small { display: block !important; font-size: 11.5px !important; font-weight: 400 !important; color: #64748b !important; margin-top: 1px !important; }
	.tpp-ce-field-cell input[type=text],
	.tpp-ce-field-cell input[type=number],
	.tpp-ce-field-cell textarea,
	.tpp-ce-field-cell select {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 36px !important;
		padding: 7px 10px !important;
		border: 1px solid #cbd5e1 !important;
		border-radius: 6px !important;
		background: #ffffff !important;
		color: #0f172a !important;
		font-size: 13px !important;
		line-height: 1.4 !important;
		box-sizing: border-box !important;
		outline: none !important;
		transition: border-color .12s ease, box-shadow .12s ease !important;
	}
	.tpp-ce-field-cell input:focus,
	.tpp-ce-field-cell select:focus,
	.tpp-ce-field-cell textarea:focus {
		border-color: #2563eb !important;
		box-shadow: 0 0 0 3px rgba(37,99,235,.12) !important;
	}
	/* 响应式：≤1024px 2 列，≤768px 1 列 */
	@media (max-width: 1024px) {
		.tpp-ce-fields-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	}
	@media (max-width: 768px) {
		.tpp-pd-container { padding: 16px 14px 32px !important; }
		.tpp-ce-fields-grid { grid-template-columns: 1fr !important; }
		.tpp-ce-entry-card { padding: 18px 16px !important; }
		.tpp-ce-header-card { padding: 12px 14px !important; }
	}


/* v6.1.24c: hc-left 列宽加宽 + 标题不换行（修复 my-inquiries 长副标题挤压标题换行） */
.tpp-ce-header-card .tpp-ce-hc-left { flex: 1 1 520px !important; min-width: 280px !important; }

/* v6.1.24e: header-card 标题（大字）在上、副标题（小字）在下——强制上下布局 */
.tpp-ce-header-card .tpp-ce-hc-left { flex-direction: column !important; align-items: flex-start !important; }
.tpp-ce-header-card .tpp-ce-hc-title, .tpp-ce-header-card .tpp-ce-hc-sub { display: block !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
.tpp-ce-header-card .tpp-ce-hc-sub { margin-top: 6px !important; }
