/* 数据中心（已并入 index.html 的 #bossView，作为老板看板内容）
 * 注意：不要在此写 body / * 等全局选择器，会污染主系统页面样式 —— 全局规则由 styles.css 统一提供。 */
/* ===== 顶栏 ===== */
.dc-top {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 20px; background: #fff; border: 1px solid #e3eae5; border-radius: 6px 6px 0 0;
}
.dc-top-l { display: flex; align-items: center; gap: 10px; }
.dc-logo { font-size: 24px; }
.dc-title { font-size: 16px; font-weight: 700; color: #2d6a4f; }
.dc-sub { font-size: 12px; color: #868e96; margin-top: 2px; }
.dc-top-r { display: flex; align-items: center; gap: 10px; }
.dc-sync-info { font-size: 12px; color: #868e96; }

/* ===== 按钮 ===== */
.dc-btn {
    border: 1px solid #d5e0d8; background: #fff; color: #2d6a4f;
    padding: 6px 14px; border-radius: 6px; cursor: pointer;
    font-size: 13px; font-family: inherit; transition: all .15s;
}
.dc-btn:hover { background: #eef6f1; }
.dc-btn-primary { background: #2d6a4f; border-color: #2d6a4f; color: #fff; }
.dc-btn-primary:hover { background: #245a42; }
.dc-btn:disabled { opacity: .55; cursor: not-allowed; }

/* ===== 类型卡片 ===== */
.dc-types {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(178px, 1fr));
    gap: 10px; padding: 14px 20px 4px;
}
.dc-type {
    background: #fff; border: 1px solid #e3eae5; border-radius: 8px;
    padding: 11px 13px; cursor: pointer; transition: all .15s;
    border-left: 3px solid #e3eae5;
}
.dc-type:hover { box-shadow: 0 2px 10px rgba(45,106,79,.12); transform: translateY(-1px); }
.dc-type.active { border-left-color: #2d6a4f; background: #f2f9f5; }
.dc-type-name { font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 5px; }
.dc-type-tag {
    font-size: 10px; background: #e8f3ec; color: #2d6a4f;
    padding: 1px 5px; border-radius: 3px; font-weight: 400;
}
.dc-type-rows { font-size: 20px; font-weight: 700; color: #2d6a4f; margin: 5px 0 2px; }
.dc-type-rows small { font-size: 11px; font-weight: 400; color: #868e96; margin-left: 4px; }
.dc-type-date { font-size: 11px; color: #868e96; }
.dc-type-warn { font-size: 11px; color: #c92a2a; margin-top: 3px; }

/* ===== Tab ===== */
.dc-tabs { display: flex; gap: 2px; padding: 14px 20px 0; }
.dc-tab {
    border: 1px solid #e3eae5; border-bottom: none; background: #f8faf9;
    padding: 8px 18px; cursor: pointer; font-size: 13px; font-family: inherit;
    border-radius: 6px 6px 0 0; color: #495057;
}
.dc-tab.active { background: #fff; color: #2d6a4f; font-weight: 600; border-color: #e3eae5; }

.dc-pane { display: none; background: #fff; border: 1px solid #e3eae5; border-radius: 0 8px 8px 8px; margin: 0 20px 20px; padding: 14px; }
.dc-pane.active { display: block; }

/* ===== 筛选 ===== */
.dc-filter { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.dc-filter label { display: flex; align-items: center; gap: 5px; font-size: 12px; color: #495057; }
.dc-filter input {
    border: 1px solid #d5e0d8; border-radius: 5px; padding: 5px 8px;
    font-size: 12px; font-family: inherit; color: #212529;
}
.dc-filter input[type="text"] { width: 280px; }
.dc-count { font-size: 12px; color: #868e96; margin-left: auto; }

/* ===== 表格 ===== */
.dc-table-wrap { overflow: auto; max-height: 60vh; border: 1px solid #eef2f0; border-radius: 6px; }
.dc-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.dc-table thead th {
    background: #f2f9f5; color: #2d6a4f; font-weight: 600;
    padding: 8px 10px; text-align: left; border-bottom: 1px solid #e3eae5;
    position: sticky; top: 0; z-index: 2; white-space: nowrap;
}
.dc-table tbody td { padding: 7px 10px; border-bottom: 1px solid #f2f5f3; white-space: nowrap; }
.dc-table tbody tr:hover { background: #f7fbf8; }
.dc-empty { text-align: center; color: #868e96; padding: 30px; }
.dc-num { text-align: right; font-variant-numeric: tabular-nums; }
.dc-bad { color: #c92a2a; font-weight: 600; }
.dc-good { color: #2d6a4f; font-weight: 600; }
.dc-warn { color: #e8590c; font-weight: 600; }

/* ===== 分页 ===== */
.dc-pager { display: flex; align-items: center; gap: 6px; margin-top: 10px; flex-wrap: wrap; }
.dc-pager button {
    border: 1px solid #d5e0d8; background: #fff; padding: 4px 10px;
    border-radius: 5px; cursor: pointer; font-size: 12px; font-family: inherit;
}
.dc-pager button.active { background: #2d6a4f; color: #fff; border-color: #2d6a4f; }
.dc-pager button:disabled { opacity: .45; cursor: not-allowed; }
.dc-pager span { font-size: 12px; color: #868e96; }

/* ===== 面板 ===== */
.dc-panel { border: 1px solid #eef2f0; border-radius: 6px; overflow: hidden; }
.dc-panel-head { padding: 11px 14px; background: #f8faf9; border-bottom: 1px solid #eef2f0; }
.dc-panel-title { font-size: 13px; font-weight: 600; color: #2d6a4f; }
.dc-panel-sub { font-size: 11px; color: #868e96; margin-top: 3px; }

/* ===== 出品率 ===== */
.dc-yield-sum { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.dc-y-card {
    background: #fff; border: 1px solid #e3eae5; border-radius: 8px;
    padding: 10px 16px; min-width: 118px; border-left: 3px solid #2d6a4f;
}
.dc-y-label { font-size: 11px; color: #868e96; }
.dc-y-value { font-size: 19px; font-weight: 700; color: #2d6a4f; margin-top: 3px; }

/* ===== 提示 ===== */
.dc-toast {
    position: fixed; left: 50%; bottom: 34px; transform: translateX(-50%) translateY(20px);
    background: #212529; color: #fff; padding: 9px 20px; border-radius: 6px;
    font-size: 13px; opacity: 0; pointer-events: none; transition: all .25s; z-index: 99;
}
.dc-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.dc-loading { padding: 20px; color: #868e96; }
