/* +----------------------------------------------------------------------
/* | Static Plugin for ThinkAdmin
/* +----------------------------------------------------------------------
/* | 官方网站: https://thinkadmin.top
/* +----------------------------------------------------------------------
/* | 版权所有 2014~2025 ThinkAdmin [ thinkadmin.top ]
/* +----------------------------------------------------------------------
/* | 开源协议 ( https://mit-license.org )
/* | 免责声明 ( https://thinkadmin.top/disclaimer )
/* +----------------------------------------------------------------------
/* | gitee 代码仓库：https://gitee.com/zoujingli/think-plugs-static
/* | github 代码仓库：https://github.com/zoujingli/think-plugs-static
/* +----------------------------------------------------------------------
/* | 自定义后台扩展样式，需要在加载 console.css 后载入
/* | 使用 composer require zoujingli/think-plugs-static 时不会更新此文件
/* +---------------------------------------------------------------------- */

/* ========================================================================
 * 仪表盘（首页）专用样式
 * 目录：app/admin/view/index/main.html
 * ===================================================================== */

.dash-wrap {
    padding: 0;
    color: #333;
}

/* 通用卡片 ------------------------------------------------------------ */
.dash-card {
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    margin-bottom: 15px;
    transition: box-shadow .25s ease, transform .25s ease;
}

.dash-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
    transform: translateY(-1px);
}

.dash-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 1px solid #f5f5f5;
}

.dash-card-title {
    font-size: 15px;
    font-weight: 600;
    color: #333;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.dash-card-title i {
    font-size: 16px;
    color: #1e9fff;
}

.dash-card-body {
    padding: 16px 18px;
}

/* 核销快捷栏 ----------------------------------------------------------- */
.dash-verify {
    background: linear-gradient(135deg, #1e9fff 0%, #16baaa 100%);
    border-radius: 8px;
    padding: 18px 22px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    color: #fff;
}

.dash-verify-label {
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
}

.dash-verify-label i {
    font-size: 20px;
}

.dash-verify-form {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 320px;
    min-width: 260px;
}

.dash-verify-input {
    flex: 1;
    height: 38px;
    line-height: 38px;
    padding: 0 14px;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    color: #333;
    outline: none;
}

.dash-verify-input::placeholder {
    color: #bbb;
}

.dash-verify-btn {
    height: 38px;
    line-height: 38px;
    padding: 0 22px;
    border: none;
    border-radius: 4px;
    background: #fff;
    color: #1e9fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity .2s ease;
}

.dash-verify-btn:hover {
    opacity: .88;
}

.dash-verify-link {
    color: #fff;
    font-size: 13px;
    white-space: nowrap;
    opacity: .92;
    text-decoration: none;
}

.dash-verify-link:hover {
    opacity: 1;
    text-decoration: underline;
}

/* 指标卡 -------------------------------------------------------------- */
.dash-stat {
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    padding: 18px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: box-shadow .25s ease, transform .25s ease;
}

.dash-stat:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
    transform: translateY(-2px);
}

.dash-stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.dash-stat-icon i {
    font-size: 24px;
    color: #fff;
}

.dash-stat-main {
    min-width: 0;
    flex: 1;
}

.dash-stat-label {
    font-size: 13px;
    color: #999;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dash-stat-value {
    font-size: 24px;
    font-weight: 700;
    color: #333;
    line-height: 1.2;
}

.dash-stat-value .unit {
    font-size: 14px;
    font-weight: 400;
    color: #999;
    margin-left: 2px;
}

.dash-stat-foot {
    font-size: 12px;
    color: #aaa;
    margin-top: 6px;
}

/* 环比涨跌（涨红跌绿） */
.dash-trend-up {
    color: #f5222d;
    font-weight: 600;
}

.dash-trend-down {
    color: #16baaa;
    font-weight: 600;
}

.dash-trend-flat {
    color: #bbb;
}

/* 图表 ---------------------------------------------------------------- */
.dash-range-tabs {
    display: flex;
    gap: 6px;
}

.dash-range-tab {
    padding: 4px 14px;
    font-size: 13px;
    border-radius: 4px;
    border: 1px solid #e6e6e6;
    background: #fff;
    color: #666;
    cursor: pointer;
    transition: all .2s ease;
}

.dash-range-tab:hover {
    color: #1e9fff;
    border-color: #1e9fff;
}

.dash-range-tab.on {
    background: #1e9fff;
    border-color: #1e9fff;
    color: #fff;
}

.dash-chart {
    width: 100%;
    height: 300px;
}

/* 待办事项 ------------------------------------------------------------ */
.dash-todo-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dash-todo-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px dashed #f0f0f0;
    cursor: pointer;
    transition: background .2s ease;
}

.dash-todo-item:last-child {
    border-bottom: none;
}

.dash-todo-item:hover {
    background: #fafafa;
}

.dash-todo-icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 17px;
}

.dash-todo-name {
    flex: 1;
    font-size: 14px;
    color: #555;
}

.dash-todo-count {
    font-size: 18px;
    font-weight: 700;
    min-width: 30px;
    text-align: right;
}

.dash-todo-count.zero {
    color: #ccc;
    font-weight: 400;
}

/* 最新订单 ------------------------------------------------------------ */
.dash-order-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dash-order-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px dashed #f0f0f0;
    font-size: 13px;
}

.dash-order-item:last-child {
    border-bottom: none;
}

.dash-order-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f0f7ff;
    color: #1e9fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    flex-shrink: 0;
}

.dash-order-main {
    flex: 1;
    min-width: 0;
}

.dash-order-no {
    color: #333;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dash-order-meta {
    color: #aaa;
    font-size: 12px;
    margin-top: 2px;
}

.dash-order-amount {
    font-weight: 700;
    color: #333;
    white-space: nowrap;
}

.dash-status-tag {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 3px;
    font-size: 12px;
    line-height: 18px;
}

.dash-status-paid {
    background: #e6f7ff;
    color: #1e9fff;
}

.dash-status-verified {
    background: #e8f8f5;
    color: #16baaa;
}

.dash-status-refunding {
    background: #fff2e8;
    color: #ff5722;
}

.dash-status-default {
    background: #f5f5f5;
    color: #999;
}

/* 常用功能快捷入口 ------------------------------------------------------ */
.dash-shortcuts {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: 10px;
}

.dash-shortcut {
    background: #fafbfc;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    padding: 16px 8px;
    text-align: center;
    cursor: pointer;
    transition: all .25s ease;
    text-decoration: none;
    display: block;
    color: #555;
}

.dash-shortcut:hover {
    background: #fff;
    border-color: #1e9fff;
    color: #1e9fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(30, 159, 255, .15);
}

.dash-shortcut i {
    font-size: 24px;
    display: block;
    margin-bottom: 6px;
}

.dash-shortcut span {
    font-size: 13px;
}

.dash-empty {
    text-align: center;
    padding: 30px 0;
    color: #bbb;
    font-size: 13px;
}

/* 小屏适配 ------------------------------------------------------------ */
@media screen and (max-width: 768px) {
    .dash-verify-label {
        width: 100%;
    }

    .dash-stat-value {
        font-size: 20px;
    }

    .dash-chart {
        height: 240px;
    }
}

/* ========================================================================
 * 全局UX公共组件（参照抖音来客设计模式）
 * 适用页面：商品列表、商户列表、商品表单等
 * ===================================================================== */

/* ---- 运营提示 Banner（截图2/3 顶部活动横幅）---- */
.dash-notice-banner {
    background: linear-gradient(135deg, #e8f4fd 0%, #f0f7ff 50%, #fef6ee 100%);
    border: 1px solid #d6ebfa;
    border-radius: 8px;
    padding: 14px 20px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 14px;
    position: relative;
}

.dash-notice-banner-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: linear-gradient(135deg, #ff6b35, #ff4757);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
    flex-shrink: 0;
}

.dash-notice-banner-body {
    flex: 1;
    min-width: 0;
}

.dash-notice-banner-title {
    font-size: 15px;
    font-weight: 700;
    color: #333;
    margin-bottom: 3px;
}

.dash-notice-banner-desc {
    font-size: 13px;
    color: #888;
}

.dash-notice-banner-action {
    flex-shrink: 0;
}

.dash-notice-banner-close {
    position: absolute;
    top: 8px;
    right: 10px;
    cursor: pointer;
    color: #bbb;
    font-size: 16px;
    line-height: 1;
}

.dash-notice-banner-close:hover {
    color: #999;
}

/* ---- 智能提示卡片（截图3 建议上架/优化建议）---- */
.dash-tip-row {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
}

.dash-tip-card {
    flex: 1;
    background: #fffbf0;
    border: 1px solid #ffe7ba;
    border-radius: 8px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: box-shadow .2s ease;
}

.dash-tip-card:hover {
    box-shadow: 0 2px 10px rgba(255, 165, 0, .12);
}

.dash-tip-card.info {
    background: #e6f7ff;
    border-color: #91d5ff;
}

.dash-tip-card.warn {
    background: #fff7e6;
    border-color: #ffd591;
}

.dash-tip-card-icon {
    font-size: 28px;
    flex-shrink: 0;
}

.dash-tip-card-body {
    flex: 1;
    min-width: 0;
}

.dash-tip-card-title {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    margin-bottom: 2px;
}

.dash-tip-card-desc {
    font-size: 12px;
    color: #999;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dash-tip-card-btn {
    flex-shrink: 0;
    font-size: 13px;
    padding: 4px 14px;
    border-radius: 4px;
    cursor: pointer;
    border: 1px solid #ffa940;
    background: #fff;
    color: #fa8c16;
    transition: all .2s ease;
    white-space: nowrap;
}

.dash-tip-card-btn:hover {
    background: #ffa940;
    color: #fff;
}

.dash-tip-card-btn.primary {
    border-color: #1e9fff;
    color: #1e9fff;
}

.dash-tip-card-btn.primary:hover {
    background: #1e9fff;
    color: #fff;
}

/* ---- 状态 Tab 栏（截图3 已上架/审核中/...）---- */
.dash-status-tabs {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 14px;
    flex-wrap: wrap;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 0;
}

.dash-status-tab {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    padding: 8px 16px;
    font-size: 14px;
    color: #666;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: all .2s ease;
    white-space: nowrap;
    user-select: none;
}

.dash-status-tab:hover {
    color: #1e9fff;
}

.dash-status-tab.active {
    color: #1e9fff;
    font-weight: 600;
    border-bottom-color: #1e9fff;
}

.dash-status-tab-count {
    font-size: 14px;
    font-weight: 700;
    color: inherit;
}

.dash-status-tab-count.has-data {
    color: #ff5722;
}

/* ---- 批量操作工具栏（截图2/3 改价/改状态/导出）---- */
.dash-batch-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.dash-batch-toolbar .layui-btn-sm {
    border-radius: 4px;
}

.dash-batch-toolbar-sep {
    width: 1px;
    height: 22px;
    background: #e8e8e8;
    margin: 0 4px;
}

/* ---- 表格增强：信息分层 + 操作链接组 ---- */
.dash-table-cell-title {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dash-table-cell-sub {
    font-size: 12px;
    color: #aaa;
    margin-top: 3px;
}

.dash-table-cell-sub a {
    color: #1e9fff;
    text-decoration: none;
}

.dash-table-cell-sub a:hover {
    text-decoration: underline;
}

.dash-action-links {
    display: inline-flex;
    gap: 6px;
    flex-wrap: wrap;
}

.dash-action-link {
    font-size: 13px;
    color: #1e9fff;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
}

.dash-action-link:hover {
    color: #0c7cd5;
    text-decoration: underline;
}

.dash-action-link.danger {
    color: #ff5722;
}

.dash-action-link.danger:hover {
    color: #d4380d;
}

.dash-more-actions {
    position: relative;
    display: inline-block;
}

/* ---- 左侧步骤导航（截图5-11 商品助手侧边栏）---- */
.dash-step-sidebar {
    width: 200px;
    background: #f0f7ff;
    border-radius: 10px;
    padding: 18px 0;
    flex-shrink: 0;
}

.dash-step-sidebar-header {
    padding: 0 18px 14px;
    border-bottom: 1px solid #d6ebfa;
    margin-bottom: 8px;
}

.dash-step-sidebar-title {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    display: flex;
    align-items: center;
    gap: 8px;
}

.dash-step-sidebar-title i {
    font-size: 24px;
    color: #1e9fff;
}

.dash-step-sidebar-desc {
    font-size: 12px;
    color: #999;
    margin-top: 3px;
}

.dash-step-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dash-step-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 18px;
    cursor: pointer;
    font-size: 14px;
    color: #666;
    transition: all .2s ease;
    border-left: 3px solid transparent;
}

.dash-step-item:hover {
    background: #e6f2ff;
    color: #333;
}

.dash-step-item.active {
    background: #fff;
    color: #1e9fff;
    font-weight: 600;
    border-left-color: #1e9fff;
}

.dash-step-item.done {
    color: #16baaa;
}

.dash-step-item.error {
    color: #ff5722;
}

.dash-step-badge {
    font-size: 12px;
    padding: 1px 7px;
    border-radius: 8px;
    background: #f0f0f0;
    color: #999;
}

.dash-step-item.done .dash-step-badge {
    background: #e8f8f5;
    color: #16baaa;
}

.dash-step-item.error .dash-step-badge {
    background: #fff2e8;
    color: #ff5722;
}

/* ---- 表单分区卡片化（截图5-11 基础信息/商家信息/...）---- */
.dash-form-section {
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    margin-bottom: 20px;
    overflow: hidden;
}

.dash-form-section-head {
    padding: 14px 20px;
    border-bottom: 1px solid #f5f5f5;
    font-size: 15px;
    font-weight: 600;
    color: #333;
    display: flex;
    align-items: center;
    gap: 8px;
}

.dash-form-section-head .required-hint {
    font-size: 12px;
    font-weight: 400;
    color: #ff5722;
    margin-left: auto;
}

.dash-form-section-body {
    padding: 18px 20px;
}

/* ---- 智能推荐标签（截图5 智能推荐）---- */
.dash-smart-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.dash-smart-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 12px;
    border: 1px solid #d6ebfa;
    border-radius: 14px;
    font-size: 13px;
    color: #1e9fff;
    background: #f0f7ff;
    cursor: pointer;
    transition: all .2s ease;
}

.dash-smart-tag:hover {
    border-color: #1e9fff;
    background: #e6f2ff;
}

.dash-smart-tag.selected {
    border-color: #1e9fff;
    background: #1e9fff;
    color: #fff;
}

/* ---- 配置须知弹窗（截图4）---- */
.dash-guide-modal .layui-layer-content {
    padding: 24px !important;
}

.dash-guide-modal-title {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin-bottom: 12px;
}

.dash-guide-modal-body {
    font-size: 14px;
    color: #666;
    line-height: 1.8;
}

.dash-guide-modal-footer {
    margin-top: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ---- 价格展示增强（划线原价+折扣标签）---- */
.dash-price-box {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dash-price-sell {
    font-size: 15px;
    font-weight: 700;
    color: #ff5722;
}

.dash-price-original {
    font-size: 12px;
    color: #bbb;
    text-decoration: line-through;
}

.dash-discount-tag {
    display: inline-block;
    font-size: 11px;
    color: #ff5722;
    background: #fff2e8;
    border: 1px solid #ffccc7;
    padding: 0 5px;
    border-radius: 3px;
    margin-left: 4px;
}
