/*!
 * AD工具箱 · Windows 11 风格主题（浅色 / 深色）
 * 放在 extra/ 目录：不会被 think-plugs-static 覆盖
 *
 * 说明：本项目后台是 ThinkAdmin 的 SPA 外壳 + ajax 内页，原 console.css 大量规则
 * 以 `.layui-layout > .layui-body` 这类 3~5 级类名限定，并用 !important 写死配色。
 * 因此这里统一用高特异性前缀（html[data-theme] + 结构路径）覆盖，并尽量只改配色、
 * 不改尺寸，避免破坏原有的绝对定位布局（.layui-card-body 是 absolute 撑满的）。
 */

/* ---------------------------------------------------------------- 变量 */

html[data-theme="light"] {
    color-scheme: light;
    --w11-bg: #f5f5f5;
    --w11-bg-alt: #fafafa;
    --w11-surface: #ffffff;
    --w11-surface-2: #fbfbfb;
    --w11-side: #fbfbfb;
    --w11-side-hover: rgba(0, 0, 0, .04);
    --w11-header: #ffffff;
    --w11-header-grad: linear-gradient(180deg, #ffffff 0%, #fdfdfe 100%);
    --w11-header-border: rgba(0, 0, 0, .07);
    --w11-header-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 1px 3px rgba(0, 0, 0, .05);
    --w11-text: #1b1b1b;
    --w11-text-2: #5c5c5c;
    --w11-text-3: #8a8a8a;
    --w11-border: rgba(0, 0, 0, .058);
    --w11-border-strong: rgba(0, 0, 0, .13);
    --w11-hover: rgba(0, 0, 0, .037);
    --w11-active: rgba(0, 0, 0, .06);
    --w11-accent: #0067c0;
    --w11-accent-hover: #1975c5;
    --w11-accent-soft: rgba(0, 103, 192, .10);
    --w11-accent-text: #ffffff;
    --w11-card-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 2px 8px rgba(0, 0, 0, .04);
    --w11-shadow-fly: 0 8px 24px rgba(0, 0, 0, .12);
    --w11-green: #0f7b0f;
    --w11-red: #c42b1c;
    --w11-red-text: #ffffff;
    --w11-orange: #9d5d00;
    --w11-warm-bg: #b45309;
    --w11-warm-text: #ffffff;
    --w11-field: #ffffff;
    /* 菜单选中项（顶栏 + 侧栏共用） */
    --w11-nav-active: rgba(0, 103, 192, .10);
    --w11-nav-active-text: #005fb8;
    --w11-nav-active-shadow: none;
}

html[data-theme="dark"] {
    color-scheme: dark;
    --w11-bg: #202020;
    --w11-bg-alt: #272727;
    --w11-surface: #2b2b2b;
    --w11-surface-2: #323232;
    --w11-side: #262626;
    --w11-side-hover: rgba(255, 255, 255, .06);
    --w11-header: #232323;
    --w11-header-grad: linear-gradient(102deg, #1d3044 0%, #212529 40%, #232323 80%);
    --w11-header-border: rgba(76, 194, 255, .18);
    --w11-header-shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 2px 12px rgba(0, 0, 0, .35);
    --w11-text: #f5f5f5;
    --w11-text-2: #c9c9c9;
    --w11-text-3: #9a9a9a;
    --w11-border: rgba(255, 255, 255, .084);
    --w11-border-strong: rgba(255, 255, 255, .16);
    --w11-hover: rgba(255, 255, 255, .06);
    --w11-active: rgba(255, 255, 255, .09);
    --w11-accent: #4cc2ff;
    --w11-accent-hover: #6ccdff;
    --w11-accent-soft: rgba(76, 194, 255, .14);
    --w11-accent-text: #003049;
    --w11-card-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .25);
    --w11-shadow-fly: 0 8px 24px rgba(0, 0, 0, .5);
    --w11-green: #6ccb5f;
    --w11-red: #d94a4a;
    --w11-red-text: #ffffff;
    --w11-orange: #f0b429;
    --w11-warm-bg: #f0b429;
    --w11-warm-text: #241a00;
    --w11-field: #2b2b2b;
    /* 侧栏选中项 */
    --w11-nav-active: rgba(255, 255, 255, .10);
    --w11-nav-active-text: #ffffff;
    --w11-nav-active-shadow: none;
}

/* ---------------------------------------------------------------- 基础 */

html[data-theme] body.layui-layout-body,
html[data-theme] body.layui-layout-body.layui-layout-body {
    background: var(--w11-bg) !important;
    color: var(--w11-text) !important;
    font-family: "Segoe UI Variable Text", "Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    font-size: 13px;
}

html[data-theme] ::selection { background: var(--w11-accent-soft); }

html[data-theme] ::-webkit-scrollbar { width: 10px; height: 10px; }
html[data-theme] ::-webkit-scrollbar-thumb {
    background: var(--w11-border-strong);
    border-radius: 6px;
    border: 3px solid transparent;
    background-clip: content-box;
}
html[data-theme] ::-webkit-scrollbar-thumb:hover { background: var(--w11-text-3); background-clip: content-box; }
html[data-theme] ::-webkit-scrollbar-track { background: transparent; }

html[data-theme] body.layui-layout-body a { color: var(--w11-accent); }
html[data-theme] body.layui-layout-body a:hover { color: var(--w11-accent-hover); }

/* ---------------------------------------------------------------- 顶栏 */

html[data-theme] .layui-layout.layui-layout-admin > .layui-header {
    background: var(--w11-header-grad) !important;
    background-color: var(--w11-header) !important;
    /* fixed + 视口宽度：让顶栏和左侧 logo 区共用同一条渐变，接缝处不会跳色 */
    background-attachment: fixed !important;
    background-size: 100vw 100vh !important;
    background-position: 0 0 !important;
    background-repeat: no-repeat !important;
    border-bottom: 1px solid var(--w11-header-border) !important;
    box-shadow: var(--w11-header-shadow) !important;
}
html[data-theme] .layui-layout.layui-layout-admin > .layui-header .layui-nav { background: transparent !important; }
/* 顶栏菜单项竖向居中，选中态做成 32px 高的小药丸（原来 55px 通高，像一块白板） */
html[data-theme] .layui-layout.layui-layout-admin > .layui-header .layui-nav-item {
    display: inline-flex;
    align-items: center;
    height: 55px;
}
html[data-theme] .layui-layout.layui-layout-admin > .layui-header .layui-nav-item > a {
    height: 32px !important;
    line-height: 32px !important;
    padding: 0 12px;
    border-radius: 6px;
    color: var(--w11-text) !important;
    transition: background .12s ease;
}
html[data-theme] .layui-layout.layui-layout-admin > .layui-header .layui-nav-item > a:hover {
    background: var(--w11-hover) !important;
    color: var(--w11-text) !important;
}
html[data-theme] .layui-layout.layui-layout-admin > .layui-header .layui-nav-item.layui-this > a {
    background: var(--w11-nav-active) !important;
    color: var(--w11-nav-active-text) !important;
    font-weight: 600;
}
html[data-theme] .layui-layout.layui-layout-admin > .layui-header .layui-nav-item.layui-this > a::after { display: none; }
html[data-theme] .layui-layout.layui-layout-admin > .layui-header .layui-nav-item > a > .layui-icon { font-size: 16px; color: var(--w11-text-2); }

/* 头部的下拉菜单 */
html[data-theme] .layui-layout.layui-layout-admin > .layui-header .layui-nav-child,
html[data-theme] .layui-layout.layui-layout-admin > .layui-header .layui-nav-item .layui-nav-child {
    background: var(--w11-surface) !important;
    border: 1px solid var(--w11-border) !important;
    border-radius: 8px;
    box-shadow: var(--w11-shadow-fly);
    padding: 6px;
    min-width: 170px;
    overflow: hidden;
}
html[data-theme] .layui-layout.layui-layout-admin > .layui-header .layui-nav-child dd a {
    color: var(--w11-text) !important;
    border-radius: 4px;
    line-height: 34px !important;
    height: 34px;
    padding: 0 12px !important;
    text-align: left !important;
    font-size: 13px;
}
html[data-theme] .layui-layout.layui-layout-admin > .layui-header .layui-nav-child dd a:hover {
    background: var(--w11-hover) !important;
    color: var(--w11-text) !important;
}
html[data-theme] .layui-layout.layui-layout-admin > .layui-header .layui-nav-child dd a .layui-icon { margin-right: 8px; color: var(--w11-text-2); }
html[data-theme] .layui-layout.layui-layout-admin > .layui-header .layui-nav-child.layui-show + a,
html[data-theme] .layui-layout.layui-layout-admin > .layui-header .layui-nav-child.layui-show + a.layui-elip {
    background: var(--w11-active) !important;
}

/* 顶栏里的搜索框 */
html[data-theme] .w11-search-wrap { padding: 0 8px; }
html[data-theme] .w11-search {
    display: inline-block;
    vertical-align: middle;
    width: 200px;
    height: 32px;
    line-height: 32px;
    padding: 0 10px 0 30px;
    border: 1px solid var(--w11-border-strong);
    border-radius: 6px;
    background: var(--w11-field) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 9px center;
    color: var(--w11-text);
    font-size: 13px;
    outline: none;
    transition: border-color .12s, box-shadow .12s;
}
html[data-theme] .w11-search:focus {
    border-color: var(--w11-accent);
    box-shadow: 0 0 0 2px var(--w11-accent-soft);
}
html[data-theme] .w11-search::placeholder { color: var(--w11-text-3); }
html[data-theme] .w11-theme-toggle .w11-theme-icon {
    display: inline-block;
    font-size: 16px;
    line-height: 1;
    vertical-align: -1px;
}

/* ---------------------------------------------------------------- 侧栏 */

html[data-theme] .layui-layout.layui-layout-admin > .layui-side {
    background: var(--w11-side) !important;
    border-right: 1px solid var(--w11-border) !important;
    box-shadow: none !important;
}
/* 侧栏顶部 logo 区与顶栏同色，让最上面那条视觉上是连续的一整条 */
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-logo {
    background: var(--w11-header-grad) !important;
    background-attachment: fixed !important;
    background-size: 100vw 100vh !important;
    background-position: 0 0 !important;
    background-repeat: no-repeat !important;
    border-bottom: 1px solid var(--w11-header-border) !important;
    color: var(--w11-text) !important;
    font-weight: 600;
    font-size: 14px;
    box-shadow: none !important;
}
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-logo .headtxt { color: var(--w11-text); }
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-logo sup { color: var(--w11-text-3); font-weight: 400; }
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-scroll { background: transparent !important; }

/* 一级图标栏 */
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-icon { background: transparent !important; }
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-icon a { color: var(--w11-text-2) !important; }
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-icon > div.layui-this { background: var(--w11-accent-soft) !important; }
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-icon > div.layui-this a,
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-icon > div.layui-this a .layui-icon,
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-icon > div.layui-this a span { color: var(--w11-accent) !important; }

/* 菜单树容器：layui 默认给 .layui-nav-child 上了 rgba(0,0,0,.3) 的深色底，
   一旦把行背景改成透明，这层深色就会露出来（浅色下看起来像一块脏灰板） */
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-scroll .layui-nav-tree,
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-scroll .layui-side-tree dl.layui-nav-child,
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-scroll .layui-side-tree ul.layui-nav {
    background: transparent !important;
}
/* 顶级项选中态（原为 #098 整块） */
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-scroll .layui-nav-tree > li.layui-this {
    background: transparent !important;
}

/* 所有菜单项（底色必须显式清成透明，console.css 给 dd a 上过 #f6f6f6 一类的灰底） */
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-scroll .layui-side-tree .layui-nav-item > a,
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-scroll .layui-side-tree .layui-nav-item dd a {
    background: transparent !important;
    color: var(--w11-text-2) !important;
    border-bottom: none !important;
    border-radius: 6px;
    margin: 1px 8px;
    font-size: 13.5px;
    transition: background .12s ease, color .12s ease;
}
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-scroll .layui-side-tree .layui-nav-item > a:hover,
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-scroll .layui-side-tree .layui-nav-item dd a:hover {
    background: var(--w11-hover) !important;
    color: var(--w11-text) !important;
}
/* 子项选中态：浅色用白色药丸（比 rgba 黑底柔和很多），深色用半透明白 */
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-scroll .layui-nav-item dd.layui-this > a,
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-scroll .layui-nav-tree > li.layui-this > a {
    background: var(--w11-nav-active) !important;
    color: var(--w11-nav-active-text) !important;
    font-weight: 600;
    box-shadow: var(--w11-nav-active-shadow);
}
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-scroll .layui-nav-item dd.layui-this > a,
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-scroll .layui-nav-tree > li.layui-this > a {
    position: relative;
    margin: 1px 8px !important;
}
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-nav-more { color: var(--w11-text-3) !important; border-color: var(--w11-text-3) transparent transparent !important; }
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-tree .nav-icon { color: var(--w11-text-3); }
html[data-theme] .layui-layout.layui-layout-admin > .layui-side .layui-side-tree dd.layui-this .nav-icon { color: var(--w11-accent); }

/* ---------------------------------------------------------------- 主体 */

html[data-theme] .layui-layout.layui-layout-admin > .layui-body {
    background: var(--w11-bg) !important;
    border-left: none;
}
html[data-theme] .layui-layout.layui-layout-admin > .layui-body > .think-page-body { background: transparent !important; }

/* 页面内页容器：外层 卡片本身透明，真正的视觉容器是内层 tab-card / card-html */
html[data-theme] .layui-layout.layui-layout-admin > .layui-body > .think-page-body > .layui-card {
    background: transparent !important;
    border: none;
    box-shadow: none !important;
    border-radius: 0;
    overflow: visible;
}
html[data-theme] .layui-layout.layui-layout-admin > .layui-body > .think-page-body > .layui-card > .layui-card-line { display: none !important; }
html[data-theme] .layui-layout.layui-layout-admin > .layui-body > .think-page-body > .layui-card > .layui-card-body { background: transparent !important; }

/* 页面顶部的固定工具条（标题 + 按钮） */
html[data-theme] .layui-layout.layui-layout-admin > .layui-body > .think-page-body > .layui-card > .layui-card-header {
    background: var(--w11-bg) !important;
    border-top: none !important;
    border-bottom: 1px solid var(--w11-border) !important;
    color: var(--w11-text) !important;
    font-size: 14px;
    font-weight: 600;
    z-index: 5;
}
html[data-theme] .layui-layout.layui-layout-admin > .layui-body > .think-page-body > .layui-card > .layui-card-header .layui-icon { color: var(--w11-text-3) !important; }

/* 卡片（内页里真正的内容卡） */
html[data-theme] .layui-layout.layui-layout-admin .layui-card {
    background: var(--w11-surface) !important;
    border: 1px solid var(--w11-border);
    border-radius: 8px;
    box-shadow: var(--w11-card-shadow);
}
html[data-theme] .layui-layout.layui-layout-admin .layui-card-header {
    background: transparent !important;
    border-bottom: 1px solid var(--w11-border) !important;
    color: var(--w11-text) !important;
    font-size: 14px;
    font-weight: 600;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-card-line { display: none; }
html[data-theme] .layui-layout.layui-layout-admin .layui-card-body { color: var(--w11-text); }
html[data-theme] .layui-layout.layui-layout-admin .layui-card-html { color: var(--w11-text); }

/* 选项卡式卡片（列表页外层） */
html[data-theme] .layui-layout.layui-layout-admin .layui-tab-card {
    background: var(--w11-surface) !important;
    border: 1px solid var(--w11-border) !important;
    border-radius: 8px;
    box-shadow: var(--w11-card-shadow) !important;
    overflow: hidden;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-tab-content {
    background: transparent !important;
    color: var(--w11-text);
}
html[data-theme] .layui-layout.layui-layout-admin .layui-tab-title {
    background: transparent !important;
    border-bottom-color: var(--w11-border) !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-tab-title li { color: var(--w11-text-2); }
html[data-theme] .layui-layout.layui-layout-admin .layui-tab-title li:hover { color: var(--w11-text); }
html[data-theme] .layui-layout.layui-layout-admin .layui-tab-title .layui-this {
    color: var(--w11-text) !important;
    font-weight: 600;
    background: transparent !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-tab-title .layui-this:after {
    border: none !important;
    border-bottom: 2px solid var(--w11-accent) !important;
    background: transparent !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-tab-bar { background: var(--w11-surface); border-color: var(--w11-border) !important; }

/* ---------------------------------------------------------------- 表单 */

html[data-theme] .layui-layout.layui-layout-admin .layui-input,
html[data-theme] .layui-layout.layui-layout-admin .layui-textarea,
html[data-theme] .layui-layout.layui-layout-admin .layui-select,
html[data-theme] .layui-layer .layui-input,
html[data-theme] .layui-layer .layui-textarea {
    background: var(--w11-field) !important;
    border: 1px solid var(--w11-border-strong) !important;
    border-radius: 4px !important;
    color: var(--w11-text) !important;
    transition: border-color .12s, box-shadow .12s;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-input:hover,
html[data-theme] .layui-layout.layui-layout-admin .layui-textarea:hover { border-color: var(--w11-text-3) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-input:focus,
html[data-theme] .layui-layout.layui-layout-admin .layui-textarea:focus,
html[data-theme] .layui-layer .layui-input:focus {
    border-color: var(--w11-accent) !important;
    box-shadow: 0 0 0 2px var(--w11-accent-soft) !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-input::placeholder,
html[data-theme] .layui-layout.layui-layout-admin .layui-textarea::placeholder { color: var(--w11-text-3) !important; }

/* 浏览器自动填充（账号 / 密码）：Chrome 会自己刷一层底色并把字色锁成 #333，
   深色下黑字黑底、浅色下也可能变色，这里统一压回主题色 */
html[data-theme] input:-webkit-autofill,
html[data-theme] input:-webkit-autofill:hover,
html[data-theme] input:-webkit-autofill:focus,
html[data-theme] input:-webkit-autofill:active,
html[data-theme] textarea:-webkit-autofill,
html[data-theme] select:-webkit-autofill {
    -webkit-text-fill-color: var(--w11-text) !important;
    -webkit-box-shadow: 0 0 0 1000px var(--w11-field) inset !important;
    box-shadow: 0 0 0 1000px var(--w11-field) inset !important;
    caret-color: var(--w11-text) !important;
    transition: background-color 600000s 0s, color 600000s 0s !important;
}
html[data-theme] input:-webkit-autofill:focus {
    outline: 2px solid var(--w11-accent-soft);
    outline-offset: 0;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-form-label { color: var(--w11-text-2) !important; }
/* pane 风格表单：label 与输入框连成一体的那半截（原来是白底） */
html[data-theme] .layui-layout.layui-layout-admin .layui-form-pane .layui-form-label {
    background: var(--w11-surface-2) !important;
    border: 1px solid var(--w11-border-strong) !important;
    color: var(--w11-text-2) !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-form-pane .layui-input { border-left: none !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-form-pane .layui-form-label.layui-form-label { border-radius: 4px 0 0 4px !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-form-select dl,
html[data-theme] .layui-layer .layui-form-select dl {
    background: var(--w11-surface) !important;
    border: 1px solid var(--w11-border) !important;
    border-radius: 6px;
    box-shadow: var(--w11-shadow-fly);
    padding: 4px;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-form-select dl dd,
html[data-theme] .layui-layer .layui-form-select dl dd { color: var(--w11-text); border-radius: 4px; }
html[data-theme] .layui-layout.layui-layout-admin .layui-form-select dl dd:hover { background: var(--w11-hover) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-form-select dl dd.layui-this,
html[data-theme] .layui-layout.layui-layout-admin .layui-form-selected dl .layui-this {
    background: var(--w11-accent-soft) !important;
    color: var(--w11-accent) !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-form-select .layui-input { background: var(--w11-field) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-form-select .layui-edge { border-top-color: var(--w11-text-3) !important; }

/* 单选 / 复选 / 开关 */
html[data-theme] .layui-layout.layui-layout-admin .layui-form-radio > i { color: var(--w11-text-3) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-form-radioed > i,
html[data-theme] .layui-layout.layui-layout-admin .layui-form-radio:hover > i { color: var(--w11-accent) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-form-radioed,
html[data-theme] .layui-layout.layui-layout-admin .layui-form-radio:hover { color: var(--w11-text) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-form-checkbox[lay-skin="primary"] i {
    border-color: var(--w11-border-strong) !important;
    background: transparent !important;
    color: transparent !important;
    border-radius: 3px;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-form-checked[lay-skin="primary"] > i {
    border-color: var(--w11-accent) !important;
    background: var(--w11-accent) !important;
    color: var(--w11-accent-text) !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-form-checked[lay-skin="primary"] > div { color: var(--w11-text) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-form-switch {
    background: var(--w11-border-strong) !important;
    border: none !important;
    border-radius: 10px;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-form-onswitch { background: var(--w11-accent) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-form-onswitch > em { color: var(--w11-accent) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-form-switch > em { color: var(--w11-text-2) !important; }

/* ---------------------------------------------------------------- 按钮 */

html[data-theme] .layui-layout.layui-layout-admin .layui-btn {
    border-radius: 4px;
    transition: background .12s, border-color .12s, filter .12s;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-btn:not(.layui-btn-xs) { font-size: 13px; }
html[data-theme] .layui-layout.layui-layout-admin .layui-btn + .layui-btn { margin-left: 5px; }
/* 表格操作列里的小按钮压紧一点，保证一行能排下 3~4 个 */
html[data-theme] .layui-layout.layui-layout-admin .layui-btn-xs { padding: 0 6px !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-btn-xs .layui-icon { margin-right: 2px; font-size: 12px; }
html[data-theme] .layui-layout.layui-layout-admin .layui-btn.layui-btn-primary {
    background: transparent !important;
    border: 1px solid var(--w11-border-strong) !important;
    color: var(--w11-text) !important;
    box-shadow: none;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-btn.layui-btn-primary:hover {
    background: var(--w11-hover) !important;
    border-color: var(--w11-text-3) !important;
}
/* 深色下描边按钮几乎看不出是按钮，补一点底色 */
html[data-theme="dark"] .layui-layout.layui-layout-admin .layui-btn.layui-btn-primary {
    background: rgba(255, 255, 255, .055) !important;
    border-color: rgba(255, 255, 255, .18) !important;
    color: var(--w11-text) !important;
}
html[data-theme="dark"] .layui-layout.layui-layout-admin .layui-btn.layui-btn-primary:hover {
    background: rgba(255, 255, 255, .1) !important;
    border-color: var(--w11-accent) !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-btn:not(.layui-btn-primary):not(.layui-btn-danger):not(.layui-btn-warm):not(.layui-btn-disabled) {
    background: var(--w11-accent) !important;
    border: 1px solid transparent !important;
    color: var(--w11-accent-text) !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-btn:not(.layui-btn-primary):not(.layui-btn-danger):not(.layui-btn-warm):not(.layui-btn-disabled):hover {
    background: var(--w11-accent-hover) !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-btn.layui-btn.layui-btn-danger { background: var(--w11-red) !important; border: 1px solid transparent !important; color: var(--w11-red-text) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-btn.layui-btn.layui-btn-danger:hover { filter: brightness(1.08); }
html[data-theme] .layui-layout.layui-layout-admin .layui-btn.layui-btn.layui-btn-warm { background: var(--w11-warm-bg) !important; border: 1px solid transparent !important; color: var(--w11-warm-text) !important; font-weight: 600; }
html[data-theme] .layui-layout.layui-layout-admin .layui-btn.layui-btn.layui-btn-warm:hover { filter: brightness(1.06); }
html[data-theme] .layui-layout.layui-layout-admin .layui-btn.layui-btn.layui-btn-normal { background: var(--w11-accent) !important; border: 1px solid transparent !important; color: var(--w11-accent-text) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-btn.layui-btn-disabled { opacity: .45; }

/* 表格行内的小按钮（xs）用柔和底色 + 彩色字，避免满屏实心色块 */
html[data-theme] .layui-layout.layui-layout-admin .layui-btn-xs.layui-btn-danger {
    background: rgba(196, 43, 28, .10) !important;
    color: #b02525 !important;
    border: 1px solid rgba(196, 43, 28, .22) !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-btn-xs.layui-btn-warm {
    background: rgba(180, 83, 9, .12) !important;
    color: #96550a !important;
    border: 1px solid rgba(180, 83, 9, .24) !important;
    font-weight: 500;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-btn-xs.layui-btn-normal {
    background: var(--w11-accent-soft) !important;
    color: var(--w11-accent) !important;
    border: 1px solid var(--w11-border) !important;
}
html[data-theme="dark"] .layui-layout.layui-layout-admin .layui-btn-xs.layui-btn-danger {
    background: rgba(217, 74, 74, .20) !important;
    color: #ff9d9d !important;
    border-color: rgba(217, 74, 74, .40) !important;
}
html[data-theme="dark"] .layui-layout.layui-layout-admin .layui-btn-xs.layui-btn-warm {
    background: rgba(240, 180, 41, .18) !important;
    color: #ffcf70 !important;
    border-color: rgba(240, 180, 41, .40) !important;
}
html[data-theme="dark"] .layui-layout.layui-layout-admin .layui-btn-xs.layui-btn-normal {
    background: var(--w11-accent-soft) !important;
    color: var(--w11-accent) !important;
    border-color: rgba(76, 194, 255, .28) !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-btn .layui-icon { font-size: 13px; margin-right: 3px; }

/* ---------------------------------------------------------------- 表格 */

html[data-theme] .layui-layout.layui-layout-admin .layui-table,
html[data-theme] .layui-layout.layui-layout-admin .layui-table-view {
    color: var(--w11-text);
    background: transparent !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-table-box,
html[data-theme] .layui-layout.layui-layout-admin .layui-table-main { background: transparent !important; }
/* 左右固定列必须自身有底色，否则会透出后面的单元格文字 */
html[data-theme] .layui-layout.layui-layout-admin .layui-table-fixed,
html[data-theme] .layui-layout.layui-layout-admin .layui-table-fixed .layui-table,
html[data-theme] .layui-layout.layui-layout-admin .layui-table-fixed tbody tr,
html[data-theme] .layui-layout.layui-layout-admin .layui-table-fixed .layui-table-body { background: var(--w11-surface) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-table-fixed-l { box-shadow: 1px 0 0 var(--w11-border), 6px 0 8px -6px rgba(0, 0, 0, .18); }
html[data-theme] .layui-layout.layui-layout-admin .layui-table-fixed-r { box-shadow: -1px 0 0 var(--w11-border), -6px 0 8px -6px rgba(0, 0, 0, .18); }
html[data-theme] .layui-layout.layui-layout-admin .layui-table-view {
    border: 1px solid var(--w11-border) !important;
    border-radius: 6px;
    overflow: hidden;
    background: transparent !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-table-header,
html[data-theme] .layui-layout.layui-layout-admin .layui-table-header th { background: var(--w11-surface-2) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-table th {
    color: var(--w11-text-2) !important;
    font-weight: 600;
    font-size: 12.5px;
    border-color: var(--w11-border) !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-table td,
html[data-theme] .layui-layout.layui-layout-admin .layui-table th { border-color: var(--w11-border) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-table td { color: var(--w11-text) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-table tbody tr { background: transparent !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-table tbody tr:hover,
html[data-theme] .layui-layout.layui-layout-admin .layui-table-hover { background: var(--w11-hover) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-table[lay-even] tbody tr:nth-child(even) { background: transparent; }
html[data-theme] .layui-layout.layui-layout-admin .layui-table-body { background: transparent !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-table-page { border-top: 1px solid var(--w11-border); background: transparent !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-table-tool { background: transparent !important; border-color: var(--w11-border) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-table-tips-main { background: var(--w11-surface); color: var(--w11-text); }
html[data-theme] .layui-layout.layui-layout-admin .layui-table-total,
html[data-theme] .layui-layout.layui-layout-admin .layui-table-total th,
html[data-theme] .layui-layout.layui-layout-admin .layui-table-total td { background: var(--w11-surface-2) !important; color: var(--w11-text) !important; }

/* 分页 */
html[data-theme] .layui-layout.layui-layout-admin .layui-laypage a,
html[data-theme] .layui-layout.layui-layout-admin .layui-laypage span {
    background: transparent !important;
    border-color: var(--w11-border) !important;
    color: var(--w11-text) !important;
    border-radius: 4px;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-laypage a:hover { background: var(--w11-hover) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-laypage .layui-laypage-curr .layui-laypage-em { background: var(--w11-accent) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-laypage .layui-laypage-curr em { color: var(--w11-accent-text) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-laypage input,
html[data-theme] .layui-layout.layui-layout-admin .layui-laypage select { border-color: var(--w11-border-strong) !important; background: var(--w11-field) !important; color: var(--w11-text) !important; }

/* 日期选择器（laydate 弹层是自带白底的一套皮肤，深色下必须单独覆盖） */
html[data-theme] .layui-laydate,
html[data-theme] .layui-laydate .layui-laydate-header,
html[data-theme] .layui-laydate .layui-laydate-content,
html[data-theme] .layui-laydate .layui-laydate-footer,
html[data-theme] .layui-laydate .layui-laydate-main {
    background: var(--w11-surface) !important;
    border-color: var(--w11-border) !important;
    color: var(--w11-text) !important;
}
html[data-theme] .layui-laydate .layui-laydate-header i,
html[data-theme] .layui-laydate .laydate-set-ym span { color: var(--w11-text-2) !important; }
html[data-theme] .layui-laydate-content th { color: var(--w11-text-3) !important; }
html[data-theme] .layui-laydate-content td,
html[data-theme] .layui-laydate-content td div { color: var(--w11-text) !important; }
html[data-theme] .layui-laydate-content td:hover,
html[data-theme] .layui-laydate-content td:hover div { background: var(--w11-hover) !important; color: var(--w11-text) !important; }
html[data-theme] .layui-laydate-content td.layui-this,
html[data-theme] .layui-laydate-content td.layui-this div {
    background: var(--w11-accent) !important;
    color: var(--w11-accent-text) !important;
}
html[data-theme] .layui-laydate .layui-laydate-footer span { color: var(--w11-text-2) !important; border-color: var(--w11-border) !important; }

/* ---------------------------------------------------------------- 弹层（挂在 body 上） */

html[data-theme] .layui-layer.layui-layer {
    border-radius: 8px !important;
    box-shadow: var(--w11-shadow-fly) !important;
    border: 1px solid var(--w11-border) !important;
    background: var(--w11-surface) !important;
    color: var(--w11-text);
}
html[data-theme] .layui-layer.layui-layer .layui-layer-title {
    background: transparent !important;
    border-bottom: 1px solid var(--w11-border) !important;
    color: var(--w11-text) !important;
    font-size: 14px;
    font-weight: 600;
    border-radius: 8px 8px 0 0;
}
html[data-theme] .layui-layer.layui-layer .layui-layer-content { color: var(--w11-text); }
html[data-theme] .layui-layer.layui-layer .layui-layer-btn { border-top: 1px solid var(--w11-border); background: transparent; }
html[data-theme] .layui-layer.layui-layer .layui-layer-btn a {
    border-radius: 4px !important;
    height: 32px;
    line-height: 30px;
    font-size: 13px;
    border: 1px solid var(--w11-border-strong);
    background: var(--w11-surface);
    color: var(--w11-text);
}
html[data-theme] .layui-layer.layui-layer .layui-layer-btn a:hover { background: var(--w11-hover); }
html[data-theme] .layui-layer.layui-layer .layui-layer-btn .layui-layer-btn0 {
    background: var(--w11-accent) !important;
    border-color: var(--w11-accent) !important;
    color: var(--w11-accent-text) !important;
}
html[data-theme] .layui-layer.layui-layer .layui-layer-setwin > a { color: var(--w11-text-2); }
html[data-theme] .layui-layer.layui-layer .layui-layer-padding { color: var(--w11-text); }
html[data-theme] .layui-layer-msg.layui-layer-msg { border-radius: 8px !important; }

/* ---------------------------------------------------------------- 其他 */

html[data-theme] .layui-layout.layui-layout-admin .think-box-notify {
    background: var(--w11-accent-soft) !important;
    border: 1px solid var(--w11-border) !important;
    border-radius: 6px;
    color: var(--w11-text) !important;
}
html[data-theme] .layui-layout.layui-layout-admin .color-desc,
html[data-theme] .layui-layout.layui-layout-admin .layui-text,
html[data-theme] .layui-layout.layui-layout-admin .text-gray { color: var(--w11-text-2) !important; }
html[data-theme] .layui-layout.layui-layout-admin .color-red { color: var(--w11-red) !important; }
html[data-theme] .layui-layout.layui-layout-admin .color-green { color: var(--w11-green) !important; }
html[data-theme] .layui-layout.layui-layout-admin .color-blue { color: var(--w11-accent) !important; }
html[data-theme] .layui-layout.layui-layout-admin .think-page-loader { background: var(--w11-bg) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-bg-gray { background: var(--w11-bg-alt) !important; color: var(--w11-text) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-bg-white { background: transparent !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-elem-quote { background: var(--w11-surface-2); border-color: var(--w11-accent); color: var(--w11-text); }
html[data-theme] .layui-layout.layui-layout-admin .layui-badge,
html[data-theme] .layui-layout.layui-layout-admin .layui-badge-rim { background: var(--w11-accent); border-color: var(--w11-accent); color: var(--w11-accent-text); }

/* 搜索区 fieldset、表格右侧补白格、分页“确定”按钮：都是原来写死浅色的地方 */
html[data-theme] .layui-layout.layui-layout-admin fieldset,
html[data-theme] .layui-layer fieldset {
    background: var(--w11-surface-2) !important;
    border: 1px solid var(--w11-border) !important;
    color: var(--w11-text) !important;
    border-radius: 6px;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-table-mend,
html[data-theme] .layui-layout.layui-layout-admin .layui-table-mend:after { background: transparent !important; border-color: var(--w11-border) !important; }
html[data-theme] .layui-layout.layui-layout-admin .layui-laypage button,
html[data-theme] .layui-layout.layui-layout-admin .layui-laypage-btn {
    background: transparent !important;
    border: 1px solid var(--w11-border-strong) !important;
    color: var(--w11-text) !important;
    border-radius: 4px;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-laypage-btn:hover { background: var(--w11-hover) !important; border-color: var(--w11-accent) !important; color: var(--w11-accent) !important; }

/* 列表页外层白底容器（会员列表等用的 .think-box-shadow） */
html[data-theme] .layui-layout.layui-layout-admin .think-box-shadow {
    background: var(--w11-surface) !important;
    border: 1px solid var(--w11-border) !important;
    border-radius: 8px !important;
    box-shadow: var(--w11-card-shadow) !important;
}

/* 表单里的分组小标题（原来绿色 #090） */
html[data-theme] .layui-layout.layui-layout-admin .help-label,
html[data-theme] .layui-layer .help-label { color: var(--w11-text-3) !important; }
html[data-theme] .layui-layout.layui-layout-admin .help-label b,
html[data-theme] .layui-layer .help-label b { color: var(--w11-accent) !important; }

/* 普通复选框（不带 lay-skin 的方形选择框） */
html[data-theme] .layui-layout.layui-layout-admin .layui-form-checkbox > i,
html[data-theme] .layui-layer .layui-form-checkbox > i {
    background: transparent !important;
    border: 1px solid var(--w11-border-strong) !important;
    color: transparent !important;
    border-radius: 3px;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-form-checked > i,
html[data-theme] .layui-layer .layui-form-checked > i {
    background: var(--w11-accent) !important;
    border-color: var(--w11-accent) !important;
    color: var(--w11-accent-text) !important;
}

/* 按钮组（分段选择，配置页里的“以开发/生产模式运行”等） */
html[data-theme] .layui-layout.layui-layout-admin .layui-btn-group {
    background: var(--w11-surface) !important;
    border: 1px solid var(--w11-border-strong) !important;
    border-radius: 6px !important;
    overflow: hidden;
    box-shadow: none;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-btn-group .layui-btn,
html[data-theme] .layui-layout.layui-layout-admin .layui-btn-group .layui-btn.layui-btn-primary {
    background: transparent !important;
    border: none !important;
    color: var(--w11-text-2) !important;
    border-radius: 0 !important;
    box-shadow: none;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-btn-group .layui-btn:hover,
html[data-theme] .layui-layout.layui-layout-admin .layui-btn-group .layui-btn.layui-btn-primary:hover {
    background: var(--w11-hover) !important;
    color: var(--w11-text) !important;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-btn-group .layui-btn.layui-btn-active,
html[data-theme] .layui-layout.layui-layout-admin .layui-btn-group .layui-btn.layui-btn-primary.layui-btn-active {
    background: var(--w11-accent) !important;
    color: var(--w11-accent-text) !important;
    font-weight: 600;
}
html[data-theme] .layui-layout.layui-layout-admin .layui-btn-group .layui-btn + .layui-btn {
    border-left: 1px solid var(--w11-border) !important;
    margin-left: 0 !important;
}

/* ------------------------------------------------- 弹层内部的控件
   弹层（layui-layer）挂在 body 上，不在 .layui-layout 里，需要单独一套规则 */

html[data-theme] .layui-layer .layui-btn { border-radius: 4px; }
html[data-theme] .layui-layer .layui-btn:not(.layui-btn-xs) { font-size: 13px; }
html[data-theme] .layui-layer .layui-btn.layui-btn-primary {
    background: transparent !important;
    border: 1px solid var(--w11-border-strong) !important;
    color: var(--w11-text) !important;
    box-shadow: none;
}
html[data-theme] .layui-layer .layui-btn.layui-btn-primary:hover { background: var(--w11-hover) !important; }
html[data-theme] .layui-layer .layui-btn.layui-btn:not(.layui-btn-primary):not(.layui-btn-danger):not(.layui-btn-warm) {
    background: var(--w11-accent) !important;
    border: 1px solid transparent !important;
    color: var(--w11-accent-text) !important;
}
html[data-theme] .layui-layer .layui-btn.layui-btn:not(.layui-btn-primary):not(.layui-btn-danger):not(.layui-btn-warm):hover { background: var(--w11-accent-hover) !important; }
html[data-theme] .layui-layer .layui-btn.layui-btn.layui-btn-danger { background: var(--w11-red) !important; border-color: transparent !important; color: var(--w11-red-text) !important; }
html[data-theme] .layui-layer .layui-btn.layui-btn.layui-btn-warm { background: var(--w11-warm-bg) !important; border-color: transparent !important; color: var(--w11-warm-text) !important; }
html[data-theme] .layui-layer .layui-form-label { color: var(--w11-text-2) !important; }
html[data-theme] .layui-layer .layui-form-pane .layui-form-label {
    background: var(--w11-surface-2) !important;
    border: 1px solid var(--w11-border-strong) !important;
    color: var(--w11-text-2) !important;
}
html[data-theme] .layui-layer .layui-bg-gray,
html[data-theme] .layui-layer fieldset.layui-bg-gray {
    background: var(--w11-surface-2) !important;
    border: 1px solid var(--w11-border) !important;
    border-radius: 6px;
}
html[data-theme] .layui-layer .help-block { color: var(--w11-text-3) !important; }
html[data-theme] .layui-layer .layui-card {
    background: var(--w11-surface) !important;
    border: 1px solid var(--w11-border) !important;
    border-radius: 8px;
    box-shadow: none !important;
}
html[data-theme] .layui-layer .layui-card-header {
    background: transparent !important;
    border-bottom: 1px solid var(--w11-border) !important;
    color: var(--w11-text) !important;
}
html[data-theme] .layui-layer .layui-card-body { color: var(--w11-text) !important; }
html[data-theme] .layui-layer .think-box-shadow {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}
html[data-theme] .layui-layer .layui-form-switch { background: var(--w11-border-strong) !important; border: none !important; }
html[data-theme] .layui-layer .layui-form-onswitch { background: var(--w11-accent) !important; }
html[data-theme] .layui-layer .layui-form-onswitch > em { color: var(--w11-accent) !important; }
html[data-theme] .layui-layer .layui-form-radioed > i { color: var(--w11-accent) !important; }
html[data-theme] .layui-layer .layui-table th { color: var(--w11-text-2) !important; border-color: var(--w11-border) !important; }
html[data-theme] .layui-layer .layui-table td { color: var(--w11-text) !important; border-color: var(--w11-border) !important; }

/* 内页里代替内联 color:#333 的强调文字（模板里已换成这个类） */
html[data-theme] .w11-strong {
    color: var(--w11-text) !important;
    font-weight: 600;
}

/* 窄屏隐藏搜索框 */
@media screen and (max-width: 1200px) {
    html[data-theme] .w11-search-wrap { display: none; }
}

/* 打印时回到白底 */
@media print {
    html[data-theme] body { background: #fff !important; color: #000 !important; }
}

/* 看板（会员概览）的样式全部写在 app/member/view/board/index.html 里，
   那边用 --w11-* 变量，深浅色自动跟随，这里不再重复覆盖 */
