/* Yoshop 2.0 like theme (compact, clean) — 主色统一为绿色 */
:root{
  --ys-bg:#f6f7fb;
  --ys-card:#ffffff;
  --ys-border:#ebeef5;
  --ys-text:#303133;
  --ys-sub:#909399;
  --ys-primary:#10b981;
  --ys-primary-hover:#0ea572;
  --ys-success:#10b981;
  --ys-danger:#f56c6c;
  --ys-sidebar:#1f2430;
  --ys-sidebar-2:#181c24;
  --ys-sidebar-start:#1b2232;
  --ys-sidebar-end:#101625;
}

/* global */
body{background:var(--ys-bg);color:var(--ys-text);}
.content-wrapper{background:var(--ys-bg);} 

/* header */
.page-header{background:var(--ys-card);border:1px solid var(--ys-border);border-radius:6px;padding:16px 20px;margin:12px 0;}
.page-header h2{font-size:16px;font-weight:600;margin:0;}

/* search box */
.search-box{background:var(--ys-card);border:1px solid var(--ys-border);border-radius:6px;padding:16px 20px;margin-bottom:12px;}
.search-form{gap:12px}
.search-item input,.search-item select{height:34px;line-height:34px;border:1px solid var(--ys-border);border-radius:4px;color:var(--ys-text)}
.search-btn{background:var(--ys-primary);border-color:var(--ys-primary)}
.search-btn:hover{background:var(--ys-primary-hover)}

/* toolbar pills */
.toolbar{background:var(--ys-card);border:1px solid var(--ys-border);border-radius:6px;padding:12px 16px;margin-bottom:12px}
.toolbar-left .toolbar-btn{border:1px solid var(--ys-border);border-radius:16px;padding:6px 12px;font-size:13px;color:#606266;background:#fff}
.toolbar-left .toolbar-btn:hover{border-color:var(--ys-primary);color:var(--ys-primary)}
.toolbar-left .toolbar-btn.active{background:#fff7ec;border-color:var(--ys-primary);color:var(--ys-primary)}
.toolbar .add-btn{background:var(--ys-primary);border-color:var(--ys-primary);color:#fff;border-radius:4px}
.toolbar .add-btn:hover{background:var(--ys-primary-hover)}

/* table */
.table-container{border:1px solid var(--ys-border);border-radius:6px;overflow:hidden;background:var(--ys-card)}
.goods-table thead{background:#fafafa}
.goods-table thead th{color:#909399;font-weight:500}
.goods-table tbody tr:hover{background:#fafafa}
.points-price{color:var(--ys-primary);font-weight:600}
.status-badge.on-sale{background:#e1f3d8;color:var(--ys-success)}
.status-badge.off-sale{background:#fef0f0;color:var(--ys-danger)}
.action-btn{border-radius:4px}
.action-btn.edit{color:#409EFF;border-color:#c6e2ff}
.action-btn.delete{color:var(--ys-danger);border-color:#fbc4c4}

/* compact text links like yoshop */
.action-links{display:flex;gap:12px;justify-content:center;align-items:center}
.action-links .link{font-size:12px;color:#606266;text-decoration:none}
.action-links .link:hover{text-decoration:underline}
.action-links .link-edit{color:#409EFF}
.action-links .link-copy{color:#606266}
.action-links .link-delete{color:var(--ys-danger)}

/* compact row paddings */
.goods-table thead th,.goods-table tbody td{padding:12px 10px}

/* sidebar (layout.html) */
.main-sidebar,
.main-sidebar.sidebar-dark-primary,
.sidebar-dark-primary{background:linear-gradient(180deg,var(--ys-sidebar-start),var(--ys-sidebar-end))!important;background-color:var(--ys-sidebar-end)!important}
.brand-link{background:#1a1f2b!important}
[class*=sidebar-dark-] .brand-link{background:#1a1f2b!important}
.nav-sidebar .nav-item>.nav-link{color:#cfd3dc}
[class*=sidebar-dark-] .nav-sidebar>.nav-item>.nav-link{color:#cfd3dc!important}
.nav-sidebar .nav-item>.nav-link:hover{background:#2a2f3a;color:#fff}
[class*=sidebar-dark-] .nav-sidebar>.nav-item>.nav-link:hover{background:#2a2f3a!important;color:#fff!important}
.nav-sidebar .nav-item>.nav-link.active{background:#2e3440;color:#fff}
[class*=sidebar-dark-] .nav-sidebar>.nav-item>.nav-link.active{background:#2e3440!important;color:#fff!important}
.nav-sidebar .nav-item>.nav-link.active .nav-icon{color:#ffb86b}
.nav-sidebar .nav-treeview{background:transparent}
[class*=sidebar-dark-] .nav-treeview{background:transparent!important}
.nav-treeview>.nav-item>.nav-link{color:#b8beca}
.nav-treeview>.nav-item>.nav-link:hover{background:#262b36;color:#fff}
[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link:hover{background:#262b36!important;color:#fff!important}

/* sidebar typography & spacing (yoshop compact) */
.nav-sidebar .nav-item>.nav-link{font-size:13px!important;height:40px!important;display:flex;align-items:center}
.nav-treeview>.nav-item>.nav-link{font-size:12px!important;height:36px!important}
.nav-sidebar .nav-item>.nav-link .nav-icon{font-size:14px;margin-right:10px;color:#aeb4c0}
.nav-sidebar .nav-item>.nav-link.active{box-shadow:inset 3px 0 0 var(--ys-primary)}
.nav-treeview>.nav-item>.nav-link.active{color:#fff}

/* top navbar white */
.main-header.navbar.navbar-white.navbar-light{background:#fff!important;border-bottom:1px solid var(--ys-border)!important;color:#303133!important}
.main-header.navbar.navbar-white.navbar-light .nav-link{color:#606266!important}

/* pagination box */
.pagination-box{background:var(--ys-card);border-left:1px solid var(--ys-border);border-right:1px solid var(--ys-border);border-bottom:1px solid var(--ys-border)}

/* cards */
.card,.layui-card{background:var(--ys-card);border:1px solid var(--ys-border);border-radius:6px;margin-bottom:12px}
.card .card-header,.layui-card-header{background:var(--ys-card)!important;color:var(--ys-text)!important;border-bottom:1px solid var(--ys-border)!important;display:flex;align-items:center;justify-content:flex-start}
.card .card-title,.layui-card-header .card-title{margin:0;font-size:16px;line-height:1}
.card .card-body,.layui-card-body{padding:16px}
.card .card-header[class*=bg-]{background:var(--ys-card)!important;color:var(--ys-text)!important}

/* ensure right-side action stays to the right even when it's the only child */
.card .card-header>.card-tools,
.card .card-header>.btn,
.card .card-header>.layui-btn,
.layui-card .layui-card-header>.btn,
.layui-card .layui-card-header>.layui-btn{margin-left:auto!important;float:none!important;flex:0 0 auto!important;display:inline-flex!important;align-items:center;justify-content:flex-end;text-align:right!important;width:auto!important}

/* table row action buttons -> text links */
.layui-table td .layui-btn:not(.layui-btn-danger),
.layui-table td .btn:not(.btn-danger),
.table td .layui-btn:not(.layui-btn-danger),
.table td .btn:not(.btn-danger){
  background:transparent!important;border:none!important;color:var(--ys-primary)!important;padding:0 6px;height:auto;line-height:1;border-radius:0!important
}
.layui-table td .layui-btn-danger,
.layui-table td .btn-danger,
.table td .layui-btn-danger,
.table td .btn-danger{
  background:transparent!important;border:none!important;color:var(--ys-danger)!important;padding:0 6px;height:auto;line-height:1;border-radius:0!important
}

/* buttons */
.btn,.layui-btn{border-radius:4px;height:34px;line-height:34px;padding:0 14px;border:1px solid var(--ys-border)!important;background:#fff!important;color:#606266!important;transition:all .2s;box-shadow:none!important;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;white-space:nowrap;gap:6px;box-sizing:border-box}
.btn i,.layui-btn i,.btn .fa,.btn .fas,.layui-btn .layui-icon{line-height:1;display:inline-flex;align-items:center}
.btn:hover,.layui-btn:hover{border-color:var(--ys-primary)!important;color:var(--ys-primary)!important;background:#fff!important}
.layui-btn-primary,.btn-default{background:#fff!important;border-color:var(--ys-border)!important;color:#606266!important}
.layui-btn-normal,.btn-primary,.layui-btn-primary{background:var(--ys-primary)!important;border-color:var(--ys-primary)!important;color:#fff!important}
.layui-btn-normal:hover,.btn-primary:hover,.layui-btn-primary:hover{background:var(--ys-primary-hover)!important;border-color:var(--ys-primary-hover)!important;color:#fff!important}
.layui-btn-danger,.btn-danger{background:var(--ys-danger)!important;border-color:var(--ys-danger)!important;color:#fff!important}
.layui-btn-warm,.btn-warning{background:#e6a23c!important;border-color:#e6a23c!important;color:#fff!important}
.layui-btn-success,.btn-success{background:var(--ys-success)!important;border-color:var(--ys-success)!important;color:#fff!important}
.btn-info,.layui-btn-info{background:var(--ys-primary)!important;border-color:var(--ys-primary)!important;color:#fff!important}
.layui-btn-xs,.btn-xs{height:24px;line-height:24px;padding:0 8px;font-size:12px;border-radius:3px}
.layui-btn-sm,.btn-sm{height:30px;line-height:30px;padding:0 12px;font-size:13px;border-radius:4px}
.layui-btn-lg,.btn-lg{height:38px;line-height:38px;padding:0 16px;font-size:14px;border-radius:4px}
.card .card-tools .btn,.layui-card .layui-card-header .btn{align-self:center}

/* force-convert legacy inline blue buttons to yoshop primary */
.layui-btn[style*="#409EFF"],
.layui-btn[style*="#1E9FFF"],
.layui-btn[style*="#1890ff"],
.layui-btn[style*="#007bff"],
.btn[style*="#409EFF"],
.btn[style*="#1E9FFF"],
.btn[style*="#1890ff"],
.btn[style*="#007bff"]{
  background:var(--ys-primary)!important;border-color:var(--ys-primary)!important;color:#fff!important
}

/* inputs */
.layui-input,.layui-textarea,.form-control{border:1px solid var(--ys-border);border-radius:4px;color:var(--ys-text)}
.form-control{height:34px;line-height:normal}
.layui-input:focus,.layui-textarea:focus,.form-control:focus,select.form-control:focus,.custom-select:focus{border-color:var(--ys-primary)!important;box-shadow:0 0 0 2px rgba(255,159,42,.1)!important;outline:0!important}
.layui-input:hover,.layui-textarea:hover{border-color:#c0c4cc}
.layui-select-title input{height:34px;line-height:34px;border:1px solid var(--ys-border);border-radius:4px}
.layui-form-select .layui-edge{right:10px;top:50%;transform:translateY(-50%)}
.layui-input[disabled],.layui-select-disabled,.layui-disabled{background:#f5f7fa;color:#c0c4cc}

/* bootstrap native select normalize */
select.form-control{height:34px!important;line-height:normal!important;padding:6px 12px!important}
.custom-select{height:34px!important;line-height:normal!important;padding:6px 12px!important}
select.form-control:not([size]):not([multiple]){height:34px!important;line-height:34px!important;padding-top:0!important;padding-bottom:0!important}
.custom-select:not([size]):not([multiple]){height:34px!important;line-height:34px!important;padding-top:0!important;padding-bottom:0!important}
input[type=time].form-control{height:34px;line-height:34px}
.input-group>.form-control,.input-group>.custom-select,.input-group>.custom-file{height:34px}
.input-group-text{height:34px;line-height:34px;padding:0 10px;background:#f7f8fa;border-color:var(--ys-border)}

/* select2 (bootstrap4 theme or default) */
.select2-container .select2-selection--single,
.select2-container--bootstrap4 .select2-selection--single{height:34px!important;border:1px solid var(--ys-border)!important;border-radius:4px!important;display:flex;align-items:center;padding:0 34px 0 12px;background:#fff;position:relative}
.select2-container .select2-selection__rendered{padding-left:0!important;line-height:normal!important;color:var(--ys-text)!important}
.select2-container--bootstrap4 .select2-selection__rendered{padding-left:0!important;line-height:normal!important;color:var(--ys-text)!important}
.select2-container .select2-selection__placeholder{color:var(--ys-sub)!important}
.select2-container--bootstrap4 .select2-selection__placeholder{color:var(--ys-sub)!important}
.select2-container .select2-selection__arrow{height:34px!important;top:50%!important;transform:translateY(-50%)!important;right:10px!important}
.select2-container .select2-selection__clear,
.select2-container--bootstrap4 .select2-selection__clear{position:absolute;right:34px;top:50%;transform:translateY(-50%);margin-right:0}
.select2-search--dropdown .select2-search__field{height:32px;line-height:32px;border:1px solid var(--ys-border);border-radius:4px}
.select2-dropdown{border:1px solid var(--ys-border)!important}
.select2-results__option--highlighted{background:#fff7ec!important;color:var(--ys-primary)!important}
.select2-results__option[aria-selected=true]{background:#f5f7fa!important;color:var(--ys-text)!important}
.select2-container--bootstrap4 .select2-selection--single:focus,
.select2-container .select2-selection--single:focus{border-color:var(--ys-primary)!important;box-shadow:0 0 0 2px rgba(255,159,42,.1)!important}

/* radios & checkboxes */
.layui-form-radio>i{color:#c0c4cc}
.layui-form-radio:hover>i{color:var(--ys-primary)}
.layui-form-radioed>i{color:var(--ys-primary)}
.layui-form-checkbox[lay-skin=primary] i{border-color:var(--ys-border);border-radius:2px}
.layui-form-checked[lay-skin=primary] i{background:var(--ys-primary);border-color:var(--ys-primary)}
.layui-form-checkbox[lay-skin=primary]:hover i{border-color:var(--ys-primary)}

/* switch */
.layui-form-switch{background:#dcdfe6;border-color:#dcdfe6}
.layui-form-onswitch{background:var(--ys-primary);border-color:var(--ys-primary)}

/* tabs */
.layui-tab{background:#fff;border:1px solid var(--ys-border);border-radius:6px}
.layui-tab-title{border-bottom:1px solid var(--ys-border)}
.layui-tab-title li{margin-right:16px}
.layui-tab-title .layui-this{color:var(--ys-primary)}
.layui-tab-title .layui-this:after{border-color:var(--ys-primary)}

/* breadcrumb */
.breadcrumb{background:transparent}
.breadcrumb .breadcrumb-item a{color:#606266}
.breadcrumb .breadcrumb-item.active{color:#909399}

/* pagination */
.layui-laypage a:hover{color:var(--ys-primary)}
.layui-laypage .layui-laypage-curr .layui-laypage-em{background:var(--ys-primary)}
.layui-laypage .layui-laypage-curr em{color:#fff}

/* layer dialogs */
.layui-layer-title{border-bottom:1px solid var(--ys-border);font-weight:600}
.layui-layer-btn a{border:1px solid var(--ys-border);color:#606266}
.layui-layer-btn .layui-layer-btn0{background:var(--ys-primary);border-color:var(--ys-primary);color:#fff}
.layui-layer-btn .layui-layer-btn0:hover{background:var(--ys-primary-hover);border-color:var(--ys-primary-hover)}

/* badges */
.layui-badge{background:var(--ys-primary)}
.layui-badge-rim{color:var(--ys-primary);border-color:var(--ys-primary)}
.layui-bg-blue{background:var(--ys-primary)!important}
.layui-bg-cyan{background:#20a0ff!important}
.layui-bg-orange{background:#e6a23c!important}
.layui-bg-green{background:var(--ys-success)!important}
.layui-bg-red{background:var(--ys-danger)!important}

/* adminlte badges */
.badge{border-radius:3px}
.badge-primary{background:var(--ys-primary)!important}
.badge-success{background:var(--ys-success)!important}
.badge-warning{background:#e6a23c!important}
.badge-danger{background:var(--ys-danger)!important}
.badge-info{background:var(--ys-primary)!important}

/* adminlte labels (legacy) */
.label-primary{background:var(--ys-primary)!important}
.label-success{background:var(--ys-success)!important}
.label-warning{background:#e6a23c!important}
.label-danger{background:var(--ys-danger)!important}
.label-info{background:var(--ys-primary)!important}

/* ================================================================
   全局统一：图标颜色 & section标题图标规范
   所有 card-title / section-title / cfg-card-title 前的 <i> 图标
   统一使用主绿色，大小 14px
   ================================================================ */

/* 卡片标题图标 */
.card-title > i,
.card-title > .fas,
.card-title > .far,
.card-title > .fab,
.cfg-card-title > i,
.cfg-card-title > span > i,
.section-title > i {
    color: var(--ys-primary) !important;
    font-size: 14px !important;
    width: 18px;
    text-align: center;
    flex-shrink: 0;
}

/* section-title 左边框统一为主色 */
.section-title {
    border-left-color: var(--ys-primary) !important;
}

/* cfg-card-title 图标间距 */
.cfg-card-title {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* 按钮内图标大小对齐 */
.btn > i,
.btn > .fas,
.btn > .far,
.btn > .fab {
    font-size: 13px;
    line-height: 1;
}

/* 清理 custom-theme.css 遗留的蓝色主色覆盖
   让全局统一使用 --ys-primary 绿色 */
:root {
    --primary-color: var(--ys-primary) !important;
    --primary-light: var(--ys-primary-hover) !important;
    --success-color: var(--ys-primary) !important;
}

/* 顶部导航统一 — 白色顶栏，与侧边栏区分 */
.main-header.navbar {
    background: #ffffff !important;
    border-bottom: 1px solid #ebeef5 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
}
.main-header.navbar .nav-link {
    color: #606266 !important;
}
.main-header.navbar .nav-link:hover {
    color: var(--ys-primary) !important;
    background: rgba(16,185,129,0.06) !important;
    border-radius: 4px;
}

/* 侧边栏 active 菜单左边高亮条统一为主色 */
.nav-sidebar .nav-item > .nav-link.active {
    box-shadow: inset 3px 0 0 var(--ys-primary) !important;
}

/* 清理 custom-theme.css 中遗留的蓝色渐变侧边栏激活状态 */
.nav-sidebar .nav-link.active,
body .main-sidebar .nav-sidebar .nav-link.active {
    background: rgba(16,185,129,0.12) !important;
    color: #ffffff !important;
    border-left: 3px solid var(--ys-primary) !important;
    box-shadow: none !important;
    transform: none !important;
}

/* 清理 custom-theme.css 遗留的积分商城强制蓝紫色菜单 */
.nav-sidebar .nav-link[href*="mall_goods"],
.nav-sidebar .nav-link[href*="mall_order"],
.nav-sidebar .nav-link[href*="mall_category"] {
    background: transparent !important;
    color: rgba(255,255,255,0.85) !important;
    border-left: 3px solid transparent !important;
    box-shadow: none !important;
    transform: none !important;
}
.nav-sidebar .nav-link[href*="mall_goods"].active,
.nav-sidebar .nav-link[href*="mall_order"].active,
.nav-sidebar .nav-link[href*="mall_category"].active {
    background: rgba(16,185,129,0.12) !important;
    border-left-color: var(--ys-primary) !important;
}

/* 清理 custom-theme.css fa-shopping-cart 颜色覆盖 */
.fa-shopping-cart::before {
    color: inherit !important;
}

/* 品牌 logo 区域由 layout.html 内联样式控制，此处不覆盖 */

/* 表格 thead 去掉大写字母 */
.table thead th {
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* 减少 card hover 抖动 */
.card:hover {
    transform: none !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}
