/* ==========================================================================
   Layui 主题对齐层  ·  kaoyan-crm（ThinkPHP 8 + Layui）
   --------------------------------------------------------------------------
   目的：用 Layui 的组件（layer / laydate / laypage / dropdown / form / upload），
        但视觉保持项目原有观感 ——
          白底 + 中性灰分隔、品牌紫 #762169 只做点缀、8px 圆角、极细边界、无重阴影。

   隔离策略：
     · layer  —— 所有弹层都传 skin:'crm-ui'，覆盖规则全部挂在 .crm-ui 下，不污染 Layui 其它组件
     · laydate —— 用 theme 参数直接传色值（见 app.js 里的 CRM.date）
     · laypage / 其它 —— 直接按选择器覆盖，本项目里 Layui 组件只出现在自己的页面上

   加载顺序：layui.css → app.css → layui-theme.css（本文件最后，保证覆盖生效）
   ========================================================================== */

/* ---------------------------------------------------------------- layer 弹层 */
.crm-ui.layui-layer {
  border-radius: 10px;
  box-shadow: var(--shadow);
  border: none;
  font-family: inherit;
  overflow: hidden;
}
.crm-ui .layui-layer-title {
  height: 48px; line-height: 48px; padding: 0 16px;
  border-bottom: 1px solid var(--line);
  background: #fff; color: var(--text);
  font-size: 15px; font-weight: 600;
}
.crm-ui .layui-layer-content { color: var(--text); font-size: 14px; line-height: 1.6; }
.crm-ui .layui-layer-setwin { top: 16px; right: 14px; }
.crm-ui .layui-layer-setwin .layui-layer-close {
  width: 20px; height: 20px;
  background: none; font-size: 20px; line-height: 1; color: var(--text-3);
}
.crm-ui .layui-layer-setwin .layui-layer-close::before { content: '\00d7'; }
.crm-ui .layui-layer-setwin .layui-layer-close:hover { color: var(--text); opacity: 1; }

/* 底部按钮区：对齐项目里的 .dlg-f */
.crm-ui .layui-layer-btn {
  padding: 12px 16px; border-top: 1px solid var(--line);
  display: flex; gap: 8px; justify-content: flex-end; text-align: right;
}
.crm-ui .layui-layer-btn a {
  display: inline-flex; align-items: center; justify-content: center;
  height: 32px; line-height: 32px; padding: 0 12px; margin: 0;
  border-radius: 6px; border: 1px solid var(--line);
  background: #fff; color: var(--text); font-size: 13px; font-weight: 400;
}
.crm-ui .layui-layer-btn a:hover { border-color: #cfd3d8; background: #fbfbfc; opacity: 1; }
.crm-ui .layui-layer-btn .layui-layer-btn0 {           /* 主按钮 */
  background: var(--primary); border-color: var(--primary); color: #fff;
}
.crm-ui .layui-layer-btn .layui-layer-btn0:hover { filter: brightness(1.08); background: var(--primary); border-color: var(--primary); }

/* 内容区不带内边距：内容自己带（.dlg-b / .drawer-b 已有 16px），否则会双份 */
.crm-ui .layui-layer-page .layui-layer-content { padding: 0; overflow: auto; }

/* drawer（右侧抽屉）：Layui 靠 offset 定位不稳，这里用 skin 直接钉在右侧全高 */
.layui-layer.crm-ui.crm-drawer {
  position: fixed !important;
  left: auto !important; right: 0 !important; top: 0 !important;
  margin: 0 !important;
  height: 100vh !important;
  max-height: 100vh;
  border-radius: 0;
  box-shadow: -6px 0 24px rgba(16, 24, 40, .1);
  display: flex; flex-direction: column;
}
.layui-layer.crm-ui.crm-drawer .layui-layer-title { border-radius: 0; flex: none; }
.layui-layer.crm-ui.crm-drawer .layui-layer-content { flex: 1; overflow: auto; }

/* msg / tips 提示：对齐项目里的 .toast */
.layui-layer-msg {
  min-width: 0; max-width: 80vw;
  border-radius: 8px; border: none;
  background: #1f2328; color: #fff;
  box-shadow: var(--shadow);
  font-family: inherit; font-size: 13px;
  padding: 9px 16px;
}
.layui-layer-msg .layui-layer-content { color: #fff; padding: 0; }
.layui-layer-msg i.layui-layer-ico { display: none; }         /* 去掉自带图标，保持文字提示的干净 */
.layui-layer-msg.crm-msg-err { background: var(--danger); }

/* confirm 弹层里的文字 */
.layui-layer-dialog .layui-layer-content { padding: 16px; color: var(--text); font-size: 14px; }
.layui-layer-dialog .layui-layer-btn { border-top: 1px solid var(--line); }

/* ---------------------------------------------------------------- laydate 日期 */
.layui-laydate {
  border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow);
  font-family: inherit;
}
.layui-laydate .layui-laydate-header { border-bottom: 1px solid var(--line-2); }
.layui-laydate .layui-laydate-header i:hover,
.layui-laydate .layui-laydate-header span:hover { color: var(--primary); }
.layui-laydate-footer { border-top: 1px solid var(--line-2); }
.layui-laydate-footer span:hover,
.layui-laydate .layui-laydate-list > li.layui-this,
.layui-laydate .layui-laydate-content td.layui-this,
.layui-laydate .layui-laydate-content td:hover {
  color: var(--primary);
}
/* 选中日：实心品牌色 */
.layui-laydate .layui-laydate-content td.layui-selected,
.layui-laydate .layui-laydate-content td.layui-this {
  background-color: var(--primary) !important;
  color: #fff !important;
}
.layui-laydate .layui-laydate-content td.layui-this::after { border-color: var(--primary); }
.layui-laydate .layui-this,
.layui-laydate .layui-laydate-content td.layui-selected { background-color: var(--primary) !important; }
.layui-laydate-footer .layui-laydate-footer-btn .layui-btn-normal { color: var(--primary); }
/* 范围选择的中间段 */
.layui-laydate .layui-laydate-content td.layui-selected-start,
.layui-laydate .layui-laydate-content td.layui-selected-end { background-color: var(--primary) !important; }

/* ---------------------------------------------------------------- laypage 分页 */
.layui-laypage { font-family: inherit; }
.layui-laypage a, .layui-laypage span {
  border: 1px solid var(--line); border-radius: 6px;
  background: #fff; color: var(--text-2);
  margin-right: 5px; padding: 0 10px; height: 28px; line-height: 28px;
  font-size: 12.5px;
}
.layui-laypage a:hover { color: var(--primary); border-color: #d8cbd5; background: #fbfbfc; }
.layui-laypage .layui-laypage-curr .layui-laypage-em { background-color: var(--primary); border-radius: 6px; }
.layui-laypage .layui-laypage-curr em { color: #fff; }
.layui-laypage .layui-laypage-curr .layui-laypage-em + em { color: #fff; }
.layui-laypage input, .layui-laypage select { height: 28px; border-radius: 6px; border: 1px solid var(--line); }
.layui-laypage .layui-laypage-skip { height: 28px; line-height: 28px; color: var(--text-3); }
.layui-laypage button { height: 28px; line-height: 28px; border-radius: 6px; background: var(--primary); border-color: var(--primary); color: #fff; }

/* ---------------------------------------------------------------- form 表单控件 */
/* 项目自己的 .inp/.sel/.ta 是主用法；Layui form 只在用到它的复选/下拉时出现 */
.layui-form-checkbox[lay-skin="primary"] i { border-radius: 3px; }
.layui-form-checked[lay-skin="primary"] i {
  border-color: var(--primary) !important; background-color: var(--primary);
}
.layui-form-radio > i:hover, .layui-form-radioed > i { color: var(--primary); }
.layui-form-select dl dd.layui-this { background-color: var(--primary); color: #fff; }
.layui-form-select dl dd.layui-select-tips { color: var(--text-3); }
.layui-form-select .layui-input:focus { border-color: var(--primary) !important; }
.layui-form-switch.layui-form-onswitch { border-color: var(--primary); background-color: var(--primary); }
/* 用 layui-input 时对齐 .inp */
.layui-input, .layui-textarea, .layui-select {
  border: 1px solid var(--line); border-radius: 6px; height: 32px; font-size: 13px;
}
.layui-input:focus, .layui-textarea:focus {
  border-color: var(--primary) !important; box-shadow: 0 0 0 3px rgba(118, 33, 105, .08);
}

/* ---------------------------------------------------------------- 按钮 */
.layui-btn { border-radius: 6px; font-size: 13px; font-family: inherit; }
.layui-btn-normal { background-color: var(--primary); }
.layui-btn-normal:hover { opacity: .88; }
.layui-btn-primary { border-color: var(--line); color: var(--text); background: #fff; }
.layui-btn-primary:hover { border-color: #cfd3d8; color: var(--text); }
.layui-btn-sm { height: 28px; line-height: 28px; padding: 0 10px; }

/* ---------------------------------------------------------------- dropdown 下拉 */
.layui-dropdown {
  border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow);
  background: #fff; overflow: hidden;
}
.layui-dropdown .layui-menu li {
  color: var(--text-2); font-size: 13px; line-height: 34px;
  padding: 0 14px; margin: 0;
}
.layui-dropdown .layui-menu li:hover { background: var(--primary-soft); color: var(--text); }
.layui-dropdown .layui-menu li.layui-menu-thisable { background: var(--primary-soft); color: var(--primary); }
.layui-dropdown .layui-menu-body-title { font-size: 13px; }

/* ---------------------------------------------------------------- upload 上传 */
.layui-upload-drag {
  border: 1px dashed var(--line); border-radius: 8px; background: #fcfcfd;
  color: var(--text-2); font-family: inherit; padding: 18px;
}
.layui-upload-drag:hover { border-color: var(--primary); color: var(--primary); }
.layui-upload-drag i { color: var(--primary); }

/* ---------------------------------------------------------------- table 表格 */
/* 只在真正使用 layui table 的页面出现；表头对齐项目的 .tbl */
.layui-table-view { border-color: var(--line); border-radius: var(--radius); }
.layui-table-header { background: #fafbfc; }
.layui-table th { background: #fafbfc; color: var(--text-2); font-weight: 600; font-size: 12.5px; }
.layui-table td, .layui-table th { border-color: var(--line-2); font-size: 13px; }
.layui-table tbody tr:hover, .layui-table-hover { background-color: #fcfcfd; }
.layui-table-tool { background: #fff; border-color: var(--line); min-height: 38px; padding: 8px 12px; }
.layui-table-page { border-color: var(--line); background: #fff; }
.layui-table-total td { background: #fafbfc; font-weight: 600; }

/* ---------------------------------------------------------------- 滚动条（与项目一致） */
.layui-layer-content::-webkit-scrollbar,
.layui-table-body::-webkit-scrollbar { width: 10px; height: 10px; }
.layui-layer-content::-webkit-scrollbar-thumb,
.layui-table-body::-webkit-scrollbar-thumb { background: #d6d9dd; border-radius: 6px; }

/* ---------------------------------------------------------------- 手机端微调 */
@media (max-width: 860px) {
  .crm-ui.layui-layer { border-radius: 0; }
  .layui-layer-msg { max-width: 86vw; }
  .layui-laydate { transform: scale(.95); transform-origin: top center; }
}
