
/*会员等级 标签颜色*/
/* 会员等级标签 */
.member-level-tag { display: inline-block; padding: 2px 8px; border-radius: 3px; font-weight: 600;font-size:.8rem; }
.lv-normal { background: #f5f5f5; color: #8c8c8c; }
.lv-silver { background: #e6f7ff; color: #1890ff; }
.lv-gold { background: #fffbe6; color: #d48806; }
.lv-platinum { background: #f0f5ff; color: #2f54eb; }
.lv-diamond { background: #f9f0ff; color: #722ed1; }

/* ============================================================
 *  SKU 表格 
 * ============================================================ */
.sku-table-wrap { overflow-x: auto; border: 1px solid #e8e8e8; border-radius: 6px; }
.sku-table { width: 100%; border-collapse: collapse; }
.sku-table thead th { background: #fafafa; padding: 10px 8px; font-size: 13px; font-weight: 600; color: #333; border-bottom: 2px solid #e8e8e8; white-space: nowrap; text-align: center; }
.sku-table tbody td { padding: 6px 8px; border-bottom: 1px solid #f5f5f5; text-align: center; vertical-align: middle; }
.sku-table tbody tr:hover { background: #fafcff; }
.sku-table tbody tr:last-child td { border-bottom: none; }

.sku-table input[type="text"],
.sku-table input[type="number"] { height: 32px !important; margin: 0 !important; font-size: 13px; text-align: center; border: 1px solid #e0e0e0; border-radius: 4px; padding: 0 6px; width: 100%; box-sizing: border-box; }
.sku-table input[type="number"] { min-width: 70px; }

.sku-table input[type="text"]:focus,
.sku-table input[type="number"]:focus { border-color: #1890ff; outline: none; box-shadow: 0 0 0 2px rgba(24, 144, 255, .1); }

.sku-empty { padding: 60px 20px; text-align: center; color: #999; }
.sku-empty i { font-size: 48px; display: block; margin-bottom: 12px; color: #ddd; }

/* 上传图片小按钮（SKU 表格 行内） */
.sku-img-preview { width: 40px; height: 40px; border-radius: 4px; border: 1px dashed #d9d9d9; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 18px; color: #bbb; transition: .2s; background: #fafafa; margin: 0 auto; }
.sku-img-preview:hover { border-color: #1890ff; color: #1890ff; }
.sku-img-preview.has-img { border-style: solid; position: relative; overflow: hidden; }
.sku-img-preview.has-img img { width: 100%; height: 100%; object-fit: cover; border-radius: 3px; }
.sku-img-preview.has-img .img-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.45); border-radius: 3px; display: flex; align-items: center; justify-content: center; opacity: 0; transition: .2s; color: #fff; font-size: 11px; cursor: pointer; }
.sku-img-preview.has-img:hover .img-overlay { opacity: 1; }


/* ============================================================
 *  时间线（Timeline）
 * ============================================================ */
.log-timeline { list-style: none; margin: 0; padding: 0; position: relative; margin:30px; }
.log-timeline::before { content: ''; position: absolute; left: 12px; top: 4px; bottom: 4px; width: 2px; background: #e8e8e8; }
.log-timeline li { position: relative; padding: 0 0 20px 36px; }
.log-timeline li:last-child { padding-bottom: 0; }
.log-timeline li::before { content: ''; position: absolute; left: 8px; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: #d9d9d9; border: 2px solid #fff; z-index: 1; }
.log-timeline li.active::before { background: #1890ff; box-shadow: 0 0 0 3px rgba(24,144,255,.15); }
.log-timeline li .log-head { display: flex; align-items: center; gap: 10px; margin-bottom: 2px; }
.log-timeline li .log-action { font-weight: 500; color: #333; }
.log-timeline li .log-time { font-size: .8rem; color: #999; }
.log-timeline li .log-detail { font-size: .8rem; color: #999; margin-top: 2px; }

/* ============================================================
 *  键值对网格
 * ============================================================ */
.kv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 32px; }
.kv-grid.single { grid-template-columns: 1fr; }
.kv-item { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; }
.kv-item .key { color: #999; white-space: nowrap; flex-shrink: 0; min-width: 70px; text-align: right; }
.kv-item .val { color: #333; word-break: break-all; }
.kv-item .val.copyable { font-family: 'Consolas', 'Monaco', monospace; font-size: 12px; background: #fafafa; padding: 1px 6px; border-radius: 3px; color: #555; }
        





/*.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}*/

/*列表中，显示的图片*/
.image-item { width: 40px; border: 1px solid #efefef; border-radius: 5px; cursor:pointer; }






@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}
