/* 全局重置 */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: "Microsoft YaHei", Arial, sans-serif; background: #f5f7fa; }

/* 页面容器 */
.page-container { padding: 24px; background: #fff; min-height: calc(100vh - 48px); }

/* 工具栏通用样式 */
.toolbar { display: flex; gap: 12px; margin-bottom: 16px; align-items: center; flex-wrap: wrap; padding: 14px 16px; background: #fafbfc; border: 1px solid #eef0f3; border-radius: 8px; }
.toolbar .search-input { width: 260px; }
.toolbar .layui-btn + .layui-btn { margin-left: 0; }

/* 表格通用样式 */
.layui-table { margin-top: 0; }

/* 绿色主题：统一主色按钮与选中态（保留 danger 危险红） */
.layui-btn:not(.layui-btn-danger):not(.layui-btn-warm):not(.layui-btn-primary){background-color:#1f8b27}
.layui-btn:not(.layui-btn-danger):not(.layui-btn-warm):not(.layui-btn-primary):hover{background-color:#187121}
.layui-btn-normal{background-color:#1f8b27}
.layui-btn-normal:hover{background-color:#187121}
.layui-btn-primary{border-color:#1f8b27;color:#1f8b27}
.layui-btn-primary:hover{border-color:#187121;color:#187121}
.layui-form-select dl dd.layui-this{background-color:#1f8b27}
.layui-form-checked[lay-skin="primary"] i{border-color:#1f8b27;background-color:#1f8b27}
.layui-layer-btn .layui-layer-btn0{background-color:#1f8b27;border-color:#1f8b27}
.layui-tab-title .layui-this:after{background-color:#1f8b27}
.layui-table-tool .layui-btn{background-color:#1f8b27}
a{color:#1f8b27}
a:hover{color:#187121}

/* 确保 layer 模态框关闭按钮(×)始终可见，避免依赖 icon.png 雪碧图缺失导致不可见 */
.layui-layer-setwin .layui-layer-close1,
.layui-layer-setwin .layui-layer-close2,
.layui-layer-setwin a.layui-layer-close {
  background-image: none !important;
  width: 20px !important;
  height: 20px !important;
  margin-left: 0 !important;
  font-size: 20px !important;
  line-height: 20px !important;
  text-align: center !important;
  color: #888 !important;
  font-style: normal !important;
  font-weight: bold !important;
  text-decoration: none !important;
  opacity: 1 !important;
  cursor: pointer !important;
}
.layui-layer-setwin .layui-layer-close1:before,
.layui-layer-setwin .layui-layer-close2:before,
.layui-layer-setwin a.layui-layer-close:before {
  content: "×" !important;
  font-family: Arial, "Microsoft YaHei", sans-serif !important;
}
.layui-layer-setwin .layui-layer-close1:hover,
.layui-layer-setwin .layui-layer-close2:hover,
.layui-layer-setwin a.layui-layer-close:hover {
  color: #e54d42 !important;
}

/* 模态框表单：标签自适应内容宽度、禁止换行、超出省略，避免文本溢出换行 */
.layui-layer-page .layui-form-label {
    width: auto !important;
    min-width: 90px;
    max-width: 160px;
    padding-left: 0;
    padding-right: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* 输入框块跟随标签宽度，避免被固定 110px 挤压 */
.layui-layer-page .layui-form-item .layui-input-block { margin-left: 0; padding-left: 0; }
.layui-layer-page .layui-form-item { display: flex; align-items: center; }
/* 单行输入框：标签文字垂直居中于输入框（line-height 与 .layui-input 高度 38px 一致） */
.layui-layer-page .layui-form-item .layui-form-label { flex: 0 0 auto; line-height: 38px; }
/* 多行文本框所在项：标签回到顶部对齐，避免在长文本框中间悬空 */
.layui-layer-page .layui-form-item:has(textarea) { align-items: flex-start; }
.layui-layer-page .layui-form-item .layui-input-block { flex: 1 1 auto; min-width: 0; }

/* 表格：文字不换行，过长省略号 */
.layui-table td, .layui-table th { white-space: nowrap; }
.layui-table .text-wrap { white-space: normal; word-break: break-all; }

/* 所有模态框：内容超出时内部滚动（恢复 Layui 默认，避免溢出到弹窗外） */
.layui-layer-page { max-width: 96vw; }
.layui-layer-page .layui-layer-content { overflow: auto; }

/* 表头与表体由 layui 统一控制列宽，禁止强制拉伸表头：
   否则表头(100%)与表体(自然宽度)不一致会导致表头/表体错位，
   且 fixed 操作列浮层错位，看起来像“渲染了两次编辑/删除” */
.layui-table-header .layui-table {
    border-collapse: collapse;
}

/* 入库/出库行编辑表格 */
.row-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.row-table th, .row-table td { padding: 4px 2px; text-align: center; border: 1px solid #e6e6e6; font-size: 13px; }
.row-table .goods-select { width: 100%; }
.row-table .qty-input, .row-table .price-input, .row-table .unit-select { width: 100%; min-width: 60px; }
.row-table .amount-display { font-weight: bold; color: #e4393c; }
.row-table .spec-cell { font-size: 12px; color: #666; }

/* 模态框响应式：窄屏下自动适配视口宽度/高度并允许内部滚动（vw/vh 为实时单位，缩放窗口也跟随） */
@media (max-width: 768px) {
  .layui-layer {
    width: 94vw !important;
    left: 3vw !important;
    margin-left: 0 !important;
    top: 3vh !important;
    margin-top: 0 !important;
    max-height: 94vh !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .layui-layer-title { flex: 0 0 auto; }
  .layui-layer-content { flex: 1 1 auto; overflow: auto !important; -webkit-overflow-scrolling: touch; }
  .layui-layer-btn { flex: 0 0 auto; }
  /* 模态框内的表单/表格也跟随收缩，避免横向溢出 */
  .layui-layer .layui-form-item .layui-input,
  .layui-layer .layui-form-item .layui-textarea,
  .layui-layer .layui-form-select { max-width: 100%; }
  .layui-layer .layui-table { width: 100% !important; }
  .layui-layer .layui-layer-content .toolbar { flex-direction: column; align-items: stretch; }
  .layui-layer .layui-layer-content .toolbar .search-input { width: 100%; }
}

/* 平板/中等屏幕：表格横向滚动交由 layui 原生处理。
   切勿对 .layui-table-view 强加 overflow、或对 .layui-table 强加 min-width：
   那样会破坏固定（操作）列与表体的滚动同步，造成操作列错位/重复显示。 */
@media (min-width: 769px) and (max-width: 1400px) {
  .layui-layer { max-width: 94vw !important; }
}

/* 打印样式 */
@media print {
    .no-print { display: none !important; }
    .print-area { width: 100% !important; margin: 0 !important; padding: 0 !important; }
    body { background: #fff !important; }
}
