/* ============================================================
   toper.css — 梯帮手 UI 2026-08-05 全新设计
   现代商务风：主色蓝 + 卡片化 + 响应式
   保留全部既有 class/选择器名，兼容全部业务页面
   ============================================================ */
:root{
  --primary:#1a73e8;
  --primary-dark:#1558b0;
  --primary-light:#e8f0fe;
  --bg:#eef1f6;
  --card:#ffffff;
  --text:#2c3e50;
  --muted:#7a8699;
  --border:#dfe5ee;
  --danger:#e64340;
  --radius:10px;
  --shadow:0 2px 12px rgba(20,40,80,.08);
}
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}
html{
  font-size:10px;
}
body{
  margin:0;
  padding:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;
  font-size:1.4rem;
  color:var(--text);
  background:var(--bg);
  min-height:100vh;
}
a{
  text-decoration:none;
  color:var(--primary);
}
img{max-width:100%;}

/* ---------- 顶部导航 ---------- */
#toper{
  width:100%;
  height:5.6rem;
  line-height:5.6rem;
  background-color:#1a73e8; /* 兜底色：渐变不支持的浏览器/白底场景防白字看不清 */
  background-image:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 60%,#4a90e2 100%);
  color:#fff;
  position:sticky;
  top:0;
  z-index:99;
  box-shadow:0 2px 10px rgba(21,88,176,.25);
  padding:0 2rem;
}
#toper > span{
  display:flex;
  align-items:center;
  gap:1rem;
  max-width:1080px;
  margin:0 auto;
  height:100%;
}
#toper img{
  width:3.4rem !important;
  height:3.4rem !important;
  float:none !important;
  margin:0 !important;
  border-radius:.6rem;
  background:transparent;
  object-fit:contain;
  padding:0;
  flex:none;
}
#toper a{
  color:#fff;
  font-size:1.7rem;
  font-weight:600;
  letter-spacing:.05em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
/* 顶部标题链接：清除通用 div a 按钮样式干扰（修复白字白底看不清 2026-08-05） */
#toper a:not(.btns){
  display:inline-block;
  background:transparent;
  border:none;
  border-radius:0;
  padding:0;
  margin:0;
  box-shadow:none;
}
#toper a:not(.btns):hover{
  background:transparent;
  color:#fff;
}
/* 顶部右侧操作（退出等，由 .btns 提供） */
#toper .btns{
  margin-left:auto;
}

/* ---------- 通用按钮 ---------- */
/* 2026-08-07：.btns 改为白底可见样式（蓝描边+蓝字），头部蓝底场景用 #toper .btns 覆盖 */
.btns{
  display:inline-block;
  border:1px solid #1a73e8;
  background:#fff;
  color:#1a73e8;
  border-radius:2rem;
  height:3.4rem;
  line-height:3.2rem;
  padding:0 1.8rem;
  text-align:center;
  font-size:1.3rem;
  cursor:pointer;
  transition:all .2s ease;
}
.btns:hover{
  background:#1a73e8;
  border-color:#1a73e8;
  color:#fff;
}
/* 头部蓝底上的 .btns：半透明白胶囊（白字） */
#toper .btns{
  border:1px solid rgba(255,255,255,.65);
  background:rgba(255,255,255,.18);
  color:#fff;
}
#toper .btns:hover{
  background:rgba(255,255,255,.32);
  border-color:rgba(255,255,255,.65);
  color:#fff;
}
/* 2026-08-07 全站统一：提交行按钮等宽（桌面） */
@media only screen and (min-width:768px){
  #main li.submit,
  #main li:has(button[name=submit]){
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:.6rem;
    padding-top:.6rem;
  }
  #main li.submit button,
  #main li:has(button[name=submit]) button{
    min-width:8.6rem;
  }
  #main li.submit a.btns,
  #main li:has(button[name=submit]) a.btns{
    min-width:6.4rem;
    padding:0 1.2rem;
    margin:0; /* 2026-08-08 间距交给 gap */
  }
}
/* 通用 div 内链接按钮（菜单/操作区） */
div a{
  display:inline-block;
  margin:0 .6rem .6rem 0;
  padding:.6rem 1.4rem;
  background:var(--primary-light);
  border:1px solid #c9dcf7;
  border-radius:6px;
  text-decoration:none;
  color:var(--primary-dark);
  font-size:1.35rem;
  transition:all .18s ease;
}
div a:hover{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
  box-shadow:0 2px 8px rgba(26,115,232,.35);
}

/* ---------- 面包屑导航（2026-08-09） ---------- */
/* 全部带 #main 前缀提权：cha.css 等页面级样式的 #main span{display:block;float:left;width:24%} 会污染 sep/cur，必须压过 */
#main .breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.2rem;
  font-size:1.35rem;
  color:var(--muted);
  padding:.7rem 1.1rem;
  margin-bottom:1.6rem;
  background:#f7fafd;
  border:1px solid var(--border);
  border-radius:8px;
  line-height:1; /* 统一行高：文字都在同一水平线 */
}
/* 重置通用 div a 按钮样式（浅蓝底/padding/边框）污染，纯文字链接 */
#main .breadcrumb a{
  display:inline-flex;
  align-items:center;
  padding:0 .4rem;
  margin:0;
  background:transparent;
  border:none;
  border-radius:4px;
  color:var(--primary);
  text-decoration:none;
  line-height:1;
  white-space:nowrap;
  transition:color .15s ease, background .15s ease;
}
#main .breadcrumb a:hover{
  background:var(--primary);
  color:#fff;
  text-decoration:none;
}
/* 分隔符：CSS 画的箭头（不依赖字体字符，各设备渲染一致） */
#main .breadcrumb .sep{
  display:inline-flex;
  align-items:center;
  float:none;
  width:auto;
  margin:0 .3rem;
  user-select:none;
}
#main .breadcrumb .sep::before{
  content:"";
  width:.55rem;
  height:.55rem;
  border-top:2px solid #b9c4d4;
  border-right:2px solid #b9c4d4;
  transform:rotate(45deg);
}
#main .breadcrumb .cur{
  display:inline-flex;
  align-items:center;
  float:none;
  width:auto;
  color:var(--text);
  font-weight:600;
  white-space:nowrap;
  padding:0 .4rem;
  line-height:1;
}

/* ---------- 内容容器 ---------- */
#main{
  max-width:1080px;
  margin:1.6rem auto 6rem;
  background:var(--card);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:2rem 2.4rem 4rem;
  border:1px solid var(--border);
}
/* 老页面直接贴边的 #main */
#main #main{ background:transparent; box-shadow:none; border:none; padding:0; }

/* ---------- 菜单页专用（h2 仅在 index.html 使用） ---------- */
h2{
  background:transparent;
  color:var(--text);
  font-size:1.6rem;
  font-weight:600;
  padding:.9rem 1.2rem;
  border-left:4px solid var(--primary);
  background:#f7fafd;
  border-radius:4px;
  margin-bottom:1rem;
}
#main ul{
  list-style:none;
  padding:0;
}
#main ul li{
  width:100%;
  line-height:3rem;
  margin-bottom:1.2rem;
}
#main ul li h2 + div{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));
  gap:.8rem;
  padding:.4rem 0;
}
#main ul li h2 + div a{
  margin:0;
  text-align:center;
  padding:1.1rem .6rem;
  font-size:1.4rem;
}
.first{
  text-align:center;
  padding:1.2rem 0 .6rem;
  border-bottom:1px dashed var(--border);
  margin-bottom:1.6rem;
}
.first b{ font-size:1.5rem; }

/* ---------- 表单行（cha/lu 页布局，保持原结构） ---------- */
ul{ list-style:none; padding:0; }
li{
  width:100%;
  line-height:3rem;
  min-height:3rem;
  margin-bottom:1rem;
}
li b{
  padding:0 .6rem;
  margin-right:.8rem;
  display:inline-block;
  width:11.5rem;
  min-width:11.5rem;
  max-width:11.5rem;
  text-align:center;
  background:#f0f3f8;
  color:var(--text);
  border-radius:4px;
  height:3rem;
  line-height:3rem;
  font-weight:600;
  white-space:nowrap;          /* 2026-08-08 标签单行显示完整 */
  overflow:hidden;
  text-overflow:ellipsis;      /* 极限长标签省略号兑底，不换行 */
}
/* 2026-08-07 全站标签列等宽：长标签（设备单价/台* 等）不再撑宽；日期/标题行除外 */
/*
li.date b,
li.lititle b,
li:has(> div.stime) b,
li:has(> div.quyu) b{
  width:auto;
  min-width:0;
  max-width:100%;
}
*/

li b:empty{
  display:none;
}
span{
  color:var(--text);
}
i{
  font-size:1.3rem;
  font-style:normal;
}

/* ---------- 输入/选择/按钮 ---------- */
input,select,button{
  font-family:inherit;
}
input{
  width:auto;
  height:3.4rem;
  padding:0 1rem;
  margin-right:.8rem;
  border:1px solid #cfd8e4;
  border-radius:6px;
  font-size:1.4rem;
  background:#fff;
  color:var(--text);
  transition:border-color .18s ease, box-shadow .18s ease;
}
input:focus{
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(26,115,232,.15);
}
/* 2026-08-07 勾选框统一规范：不受全局 input 高度/边框/内边距影响 */
input[type="checkbox"]{
  width:1.6rem;
  height:1.6rem;
  min-width:1.6rem;
  min-height:1.6rem;
  margin:0 .5rem 0 0;
  padding:0;
  border:1px solid #9aa7b8;
  border-radius:4px;
  background:#fff;
  vertical-align:middle;
  appearance:auto;
  -webkit-appearance:auto;
  accent-color:var(--primary);
  cursor:pointer;
  flex:none;
}
input[type="checkbox"]:checked{
  border-color:var(--primary);
}
input[type="checkbox"]:focus{
  box-shadow:0 0 0 3px rgba(26,115,232,.15);
}
select{
  height:3.4rem;
  padding:0 .8rem;
  border:1px solid #cfd8e4;
  border-radius:6px;
  font-size:1.4rem;
  background:#fff;
}
select:focus{
  outline:none;
  border-color:var(--primary);
}
button{
  height:3.4rem;
  padding:0 1.6rem;
  border:1px solid var(--primary);
  background:var(--primary);
  color:#fff;
  border-radius:6px;
  font-size:1.4rem;
  cursor:pointer;
  transition:all .18s ease;
  white-space:nowrap;
}
button:hover{
  background:var(--primary-dark);
  border-color:var(--primary-dark);
  box-shadow:0 2px 8px rgba(26,115,232,.3);
}
/* 2026-08-08 统一：老式 input[type=submit] 与 button 同款蓝底白字 */
input[type="submit"]{
  height:3.4rem;
  padding:0 1.6rem;
  border:1px solid var(--primary);
  background:var(--primary);
  color:#fff;
  border-radius:6px;
  font-size:1.4rem;
  cursor:pointer;
  transition:all .18s ease;
  white-space:nowrap;
}
input[type="submit"]:hover{
  background:var(--primary-dark);
  border-color:var(--primary-dark);
  box-shadow:0 2px 8px rgba(26,115,232,.3);
}
/* 2026-08-07 全站统一：提交类按钮一律蓝底白字实心（含 cha 页 type=button+name=submit） */
button[type="button"]{
  background:#fff;
  color:var(--primary);
}
button[type="button"]:hover{
  background:var(--primary-light);
}
button[name="submit"],
button[name="chaxun"],
button.up_xx,
button.user_add,
button.user_update,
button.user_menu,
button[name="many_submit"],
button[name="download"],
button.serch{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}
button[name="submit"]:hover,
button[name="chaxun"]:hover,
button.up_xx:hover,
button.user_add:hover,
button.user_update:hover,
button.user_menu:hover,
button[name="many_submit"]:hover,
button[name="download"]:hover,
button.serch:hover{
  background:var(--primary-dark);
  border-color:var(--primary-dark);
  color:#fff;
}

/* ---------- 表格 ---------- */
table{
  border-collapse:collapse;
  border-spacing:0;
  width:100%;
  line-height:2.6rem;
  text-align:center;
  border:1px solid var(--border);
  word-break:break-all;
  margin-top:1rem;
  background:#fff;
  border-radius:8px;
  overflow:hidden;
}
table tr#headTr{
  background:var(--primary);
  color:#fff;
  border-bottom:1px solid var(--primary-dark);
  position:sticky;
  top:0;
  z-index:1;
  min-height:4rem;
  line-height:4rem;
  font-weight:600;
}
table tr#headTr td, table tr#headTr th{
  color:#fff;
  border-right:1px solid rgba(255,255,255,.18);
  padding:.4rem .6rem;
}
table tr#lastTr{
  background:#f0f3f8;
  border-top:1px solid var(--border);
  min-height:4rem;
  line-height:4rem;
  font-weight:600;
}
tr.grey{
  background-color:#f7f9fc;
}
td{
  border-right:1px solid var(--border);
  border-bottom:1px solid #eef1f6;
  padding:.5rem .6rem;
}
table tr:not(#headTr):not(#lastTr):hover td{
  background:#f0f6ff;
}
table td input, table td button{
  height:3rem;
}

/* ---------- 弹窗 ---------- */
.bgB{
  text-align:center;
  vertical-align:middle;
  height:100%;
  width:100%;
  position:fixed;
  background:rgba(15,30,60,.55);
  top:0;
  left:0;
  display:none;
  z-index:100;
}
.bgB .box{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:min(340px,92vw);
  background:#fff;
  border-radius:12px;
  padding:2rem;
  box-shadow:0 12px 40px rgba(0,0,0,.25);
}
.bgB .box span{ float:left; }
/* 2026-08-07 弹窗提交行：内容排一行 */
.bgB .box .submit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.8rem;
  flex-wrap:wrap;
  text-align:center;
}
.bgB .box .submit span{
  float:none;
  width:auto;
  height:3rem;
  line-height:3rem;
  margin:0;
  text-indent:0;
  flex:0 1 auto;
}
.bgB .hetong{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:min(1000px,96vw);
  max-height:70%;
  overflow:auto;
  background:#fff;
  border-radius:12px;
  padding:1.5rem;
  box-shadow:0 12px 40px rgba(0,0,0,.3);
}
.bgB .hetong span{
  float:left;
  color:var(--text);
  margin-right:.6rem;
  height:2.8rem;
  line-height:2.8rem;
}
.bgB .hetong table td{ height:auto; padding:.8rem; }
div.many{
  text-align:center;
  vertical-align:middle;
  height:100%;
  width:100%;
  position:fixed;
  background:rgba(15,30,60,.55);
  top:0;
  left:0;
  display:none;
  z-index:100;
}
div.many .box{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:min(680px,94vw);
  max-height:84vh;
  overflow:auto;
  background:#fff;
  border-radius:12px;
  padding:1.8rem;
  box-shadow:0 12px 40px rgba(0,0,0,.3);
}
div.many .box span{ float:left; }
/* 2026-08-07 弹窗提交行：内容排一行 */
div.many .box .submit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.8rem;
  flex-wrap:wrap;
  text-align:center;
}
div.many .box .submit span{
  float:none;
  height:3rem;
  line-height:3rem;
  margin:0;
}
.vtips{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:min(340px,92vw);
  background:#fff;
  border-radius:12px;
  padding:2.2rem 2rem;
  box-shadow:0 12px 40px rgba(0,0,0,.25);
  text-align:center;
}
.vtips b{
  display:block;
  height:auto;
  width:100%;
  margin:0 auto 1.6rem;
  padding:0;
  color:#2c3e50;
  font-size:1.5rem;
  line-height:2.3rem;
  font-weight:600;
  text-align:center;
}
.vtips a{
  float:none;
  display:inline-block;
  width:auto;
  min-width:9rem;
  margin:.4rem .6rem 0;
}

/* ---------- 页脚 ---------- */
#footer{
  width:100%;
  min-height:5rem;
  line-height:1.8rem;
  border-top:1px solid var(--border);
  padding:1.2rem 0 2.4rem;
  clear:both;
  text-align:center;
  position:fixed;
  bottom:0;
  z-index:50;
  background:rgba(238,241,246,.96);
  backdrop-filter:blur(4px);
}
#footer span{
  display:block;
  color:var(--muted);
  font-size:1.2rem;
  height:2rem;
}

/* ---------- 其他 ---------- */
.shuoming{
  width:100%;
  clear:both;
  height:auto;
  margin:1.4rem 0;
  text-align:center;
  border-top:3px solid var(--primary);
  padding-top:1rem;
}
.shuoming a{
  line-height:2.2rem;
  color:var(--muted);
}
.red{
  color:var(--danger);
}
p.red{ height:auto; }

/* 查询条件区（cha 页 .quyu/.date） */
.quyu select, .date select{
  width:16.75%;
  margin-right:1%;
}
/* 2026-08-07 区域行：标签与四个下拉同行，等宽对齐（仅桌面） */
@media only screen and (min-width:768px){
  #main li:has(> div.quyu){
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.6rem;
  }
  #main li:has(> div.quyu) b{
    flex:none;
    align-self:flex-start;
  }
  #main li .quyu{
    display:inline-flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.6rem;
    flex:1;
    min-width:0;
  }
  #main li .quyu select{
    width:auto;
    margin-right:0;
    flex:1 1 22%;
    min-width:0;
  }
}
/* 录入/查询页下拉容器：与标签同行显示（恢复旧版浮动布局语义，2026-08-06） */
#main li .select{
  display:inline-block;
  vertical-align:middle;
  margin-right:.6rem;
}
#main li .select select{
  max-width:100%;
}

/* 批量录入区 */
.lititle{
  text-align:left;
  color:var(--text);
  background:#f0f3f8;
  border-radius:6px;
  font-weight:600;
  padding:.4rem .8rem;
}
.lititle input{ width:15px; }
.lititle i{ color:var(--muted); }
.sTag{
  color:var(--danger);
  float:left;
  width:100%;
  text-align:center;
  text-indent:.6rem;
  height:3rem;
  line-height:3rem;
}
.sTag a{ color:var(--danger); }

/* ---------- 响应式 ---------- */
@media only screen and (max-width:767px){
  #main{
    width:96%;
    margin:1rem auto 6rem;
    padding:1.4rem 1.4rem 4rem;
    border-radius:8px;
  }
  #toper{
    padding:0 1rem;
    height:5rem;
    line-height:5rem;
  }
  #toper a{
    font-size:1.5rem;
  }
  #main ul li h2 + div{
    grid-template-columns:repeat(2,1fr);
  }
  .bgB .hetong{
    width:94vw;
    left:50%;
    transform:translate(-50%,-50%);
    margin:0;
  }
  table{
    font-size:1.25rem;
  }
  input,select,button{
    height:3.2rem;
    font-size:1.3rem;
  }
  .btns{
    padding:0 1.2rem;
    height:3rem;
    line-height:2.8rem;
  }

  /* ===== 移动端表单行：纵向堆叠，杜绝换行错乱（2026-08-06） ===== */
  #main li{
    display:block;
    width:100%;
    margin-bottom:1.2rem;
    line-height:normal;
  }
  /* 标签独占一行，左对齐 */
  #main li b{
    display:block;
    width:100%;
    min-width:0;
    height:auto;
    line-height:2.4rem;
    margin:0 0 .4rem;
    padding:0 .6rem;
    text-align:left;
  }
  /* 输入框/下拉框占满整行，placeholder 完整显示（勾选框除外，保持内联规范尺寸） */
  #main li input:not([type=hidden]):not([type=checkbox]){
    display:block;
    width:100% !important;
    max-width:100%;
    margin:0 0 .6rem;
    padding:0 .8rem;
  }
  /* 2026-08-08 裸 select（li 直接子元素，非 .date/.quyu/.stime 容器）：移动端占满整行，修复维保人下拉框显示不全 */
  #main li:not(.date):not(.submit):not(.lititle) > select{
    display:block;
    width:100% !important;
    max-width:100%;
    margin:0 0 .6rem;
  }
  #main li .select{
    display:block;
    width:100%;
    margin:0 0 .6rem;
  }
  #main li .select select{
    display:block;
    width:100%;
    max-width:100%;
    margin:0;
  }
  /* 日期三连/区域多选：同一行排布 */
  #main li.date,
  #main li .quyu{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.6rem;
    width:100%;
  }
  #main li.date b{
    flex:0 0 100%;
  }
  #main li.date select,
  #main li .quyu select{
    flex:1 1 26%;
    width:auto;
    min-width:0;
    margin:0;
  }
  #main li .quyu select{
    flex-basis:20%;
  }
  /* 行内小按钮（添加等） */
  #main li a.btns{
    display:inline-block;
    margin:.2rem .6rem .6rem 0;
  }
  /* 提交行：flex 单行横排居中，窄屏自动收紧不换行（含无 .submit 类的页） */
  #main li.submit,
  #main li:has(button[name=submit]){
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:.6rem;
    padding-top:.6rem;
  }
  #main li.submit button,
  #main li:has(button[name=submit]) button,
  #main li.submit a.btns,
  #main li:has(button[name=submit]) a.btns{
    display:inline-block;
    margin:0;
    vertical-align:middle;
  }
  #main li.submit button,
  #main li:has(button[name=submit]) button{
    min-width:6rem;
  }
  /* 更窄屏幕：再收紧按钮，保证 5 个按钮也能一行放下 */
  @media only screen and (max-width:360px){
    #main li.submit button,
    #main li:has(button[name=submit]) button{
      min-width:5.5rem;
      padding:0 1rem;
      font-size:1.2rem;
    }
    #main li.submit a.btns,
    #main li:has(button[name=submit]) a.btns{
      padding:0 .8rem;
      font-size:1.2rem;
    }
  }
  /* 批量录入按钮：解除内联 width:17%（移动端太窄，4 字被挤换行/溢出），按内容自适应、单行完整显示 */
  #main li.submit a.btns.many,
  #main li:has(button[name=submit]) a.btns.many{
    width:auto !important;
    min-width:0;
    padding:0 1.2rem;
    white-space:nowrap;
  }
}

/* ===== 2026-08-08 选项目按钮：通用搜索图标 + 与输入框同一行（全站统一） ===== */
#main li:has(.sel_xm){
  display:flex !important;
  flex-wrap:nowrap;
  align-items:center;
  gap:.6rem;
}
#main li:has(.sel_xm) b{
  flex:none !important;
  margin:0;
}
/* 直接子级输入框（收据/计划/签到页） */
#main li:has(.sel_xm) > input[type=text]{
  flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
}
/* span 包裹输入框（合同/采购页） */
#main li:has(.sel_xm) > span{
  flex:1 1 auto !important;
  min-width:0 !important;
  margin:0 !important;
}
#main li:has(.sel_xm) > span > input[type=text]{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
/* 图标按钮：固定方形，图标居中 */
#main li:has(.sel_xm) .sel_xm{
  flex:none !important;
  display:flex;
  align-items:center;
  justify-content:center;
  width:3.4rem !important;
  min-width:3.4rem !important;
  max-width:3.4rem !important;
  padding:0 !important;
  margin:0 !important;
  font-size:1.5rem;
  line-height:3.2rem;
}
@media only screen and (max-width:767px){
  /* 移动端：标签独占一行，输入框+图标按钮同行 */
  #main li:has(.sel_xm){
    flex-wrap:wrap;
  }
  #main li:has(.sel_xm) > b{
    flex:0 0 100% !important;
    max-width:100% !important; /* 2026-08-09 解除基础 li b max-width:11.5rem 鉪制，否则 flex-basis:100% 失效、标签仍挤在输入框一行 */
    margin:0 0 .4rem;
  }
}

/* ===== 2026-08-08 通用上传图标按钮（.up_icon）：与选项目按钮同款方形图标 =====
   用法（label 包裹 file input，点击即触发选择，无浏览器安全限制）：
     <li class="upli">
       <b>标志上传</b>
       <label class="up_icon btns" title="上传"><i class="fa fa-upload"></i><input type="file" name="spic[]" class="up_file"></label>
       <span>未上传</span>
     </li>
   .up_file 绝对定位铺满 label，opacity:0，点击 label 区域即点中 file input */
#main li:has(.up_icon){
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.6rem;
}
#main li:has(.up_icon) b{
  flex:none;
  margin:0;
}
#main li .up_icon{
  position:relative;
  flex:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:3.4rem;
  min-width:3.4rem;
  max-width:3.4rem;
  height:3.4rem;
  padding:0;
  margin:0;
  font-size:1.5rem;
  line-height:3.2rem;
  cursor:pointer;
  vertical-align:middle;
  overflow:hidden;
}
#main li .up_icon:hover{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}
#main li .up_icon .up_file{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
  border:none;
  padding:0;
  margin:0;
  z-index:2;
}
/* 上传状态文字：与图标按钮同行，不换行 */
#main li:has(.up_icon) > span{
  display:inline-block;
  flex:none;
  margin:0;
  color:var(--muted);
  border-bottom:1px solid var(--border);
  line-height:3.2rem;
  height:3.2rem;
  padding:0 10px;
}
@media only screen and (max-width:767px){
  #main li:has(.up_icon){
    flex-wrap:wrap;
  }
  #main li:has(.up_icon) > b{
    flex:0 0 100%;
    margin:0 0 .4rem;
  }
}

/* ===== 2026-08-08 全站统一：录入/编辑表单行（lu/update 页） =====
   替代各页面内联重复的 2026-08-07 统一 style，一处维护 */
/* 普通行：标签左固定 + 控件弹性同行 */
#main li:not(.date):not(.submit):not(.lititle){
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.6rem;
}
#main li b{
  flex:none;
}
/* 2026-08-08 间距统一：li 内横向间距交给 flex gap，去掉子元素 margin-left/right（保留纵向 margin，移动端 block 堆叠需要） */
#main li:not(.date):not(.submit):not(.lititle) > b,
#main li:not(.date):not(.submit):not(.lititle) > input,
#main li:not(.date):not(.submit):not(.lititle) > select,
#main li:not(.date):not(.submit):not(.lititle) > .select,
#main li:not(.date):not(.submit):not(.lititle) > span,
#main li:not(.date):not(.submit):not(.lititle) > i,
#main li:not(.date):not(.submit):not(.lititle) > a,
#main li:not(.date):not(.submit):not(.lititle) > button{
  margin-left:0;
  margin-right:0;
}
#main li:not(.date) > input,
#main li:not(.date) > .select,
#main li:not(.date) > div.quyu{
  flex:0 1 auto;
  margin:0;
}
/* PC端：下拉等宽（与输入框视觉一致） */
@media only screen and (min-width:768px){
  #main li:not(.date):not(.submit) > select,
  #main li:not(.date):not(.submit) > .select > select{
    width:155px;
  }
  /* 台数窄框 
  #main input[name=taishu]{
    width:130px;
    text-align:center;
  }*/
  /* 日期三连：PC 端也统一 flex+gap（原来 inline 排布 + margin-right） */
  #main li.date{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.6rem;
  }
  #main li.date b{
    flex:none;
    margin:0;
  }
  #main li.date select{
    flex:0 1 auto;
    width:auto;
    min-width:0;
    margin-left:0;
    margin-right:0;
  }
}
/* 设备注册代码：输入框弹性加宽，长代码单行完整显示 */
#main li:not(.date) > input[name=daima]{
  flex:1 1 auto;
  width:auto;
  min-width:0;
}
@media only screen and (max-width:767px){
  #main li:not(.date):not(.submit):not(.lititle){ display:block; }
  #main li b{ margin-bottom:.4rem; flex:none; }
  #main li > input,
  #main li > .select,
  #main li > div.quyu{ flex:none; }
  /* 选项行（标签+下拉+添加按钮）同一行横排 */
  #main li:has(a.xx_add){
    display:flex !important;
    flex-wrap:wrap;
    align-items:center;
    gap:.5rem;
  }
  /* 2026-08-09 标签必须真正占满整行：基础 li b 有 max-width:11.5rem，flex-basis:100% 会被钳制，导致标签+选择框挤一行、加号单独掉一行 */
  #main li:has(a.xx_add) b{
    flex:0 0 100%;
    width:100%;
    min-width:0;
    max-width:100%;
    margin:0;
  }
  #main li:has(a.xx_add) .select{ flex:1 1 60%; min-width:12rem; margin:0; }
  #main li:has(a.xx_add) .select select{ display:block; width:100%; margin:0; }
  /* 裸 select（cw_wb_lu 等未包 .select 的行）：与 + 图标同行，不再占满整行 */
  #main li:has(a.xx_add) > select{
    flex:1 1 60%;
    min-width:12rem;
    width:auto !important;
    max-width:100%;
    margin:0;
  }
  #main li:has(a.xx_add) a.xx_add{ flex:none; margin:0; }
  /* 日期三连同行 */
  #main li.date{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.6rem;
  }
  #main li.date b{ flex:0 0 100%; width:auto; min-width:0; max-width:100%; margin:0; }
  #main li.date select{ flex:1 1 30%; width:auto; min-width:0; max-width:31%; margin:0; }
  /* 2026-08-09 无 .date 类的日期三连 li（wb_cert_lu 发证/复检/有效期等）：同样标签独占一行、年月日一行；
     :not(.date):not(.submit):not(.lititle) 提权，压过通用 li>select 的 width:100% !important */
  #main li:not(.date):not(.submit):not(.lititle):has(select.year){
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.6rem;
    width:100%;
  }
  #main li:not(.date):not(.submit):not(.lititle):has(select.year) b{
    flex:0 0 100%;
    width:100%;
    min-width:0;
    max-width:100%;
    margin:0 0 .4rem;
  }
  #main li:not(.date):not(.submit):not(.lititle):has(select.year) > select{
    flex:1 1 30% !important;
    width:auto !important;
    min-width:0 !important;
    max-width:31% !important;
    margin:0 !important;
  }
}
/* ===== 2026-08-08 间距统一：li 内横向间距交给 flex gap，去掉子元素 margin-left/right ===== */
#main li.date > select{
  margin-left:0;
  margin-right:0;
}
#main li:has(a.xx_add) > a.xx_add,
#main li:has(a.xx_add) > .select{
  margin-left:0;
  margin-right:0;
  margin-bottom:0; /* 2026-08-08 清 div a 规则残留的纵向 margin */
}
/* ===== 2026-08-09 通用添加图标按钮：标签+输入框后的"添加"文字按钮 → + 圆形图标 =====
   用法：<a class="xx_add btns" kind="xxx" title="添加">添加</a>
   纯 CSS 绘制 + 号（不依赖 font-awesome，未加载图标库的页面同样生效）
   原"添加"文字保留在 DOM 中（font-size:0 隐藏，读屏可读），title 提供悬停提示 */
#main li a.xx_add{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:3rem;
  min-width:3rem;
  max-width:3rem;
  height:3rem;
  padding:0;
  border-radius:50%;
  font-size:0;               /* 隐藏原文字（读屏可读） */
  line-height:1;
  vertical-align:middle;
  flex:none;
  margin:0;
  position:relative;
}
/* 2026-08-09 + 号改用两条矩形条绘制（原字形 + 受字体基线影响，实测垂直偏下 2.45px）：
   两条 bar 绝对定位、translate(-50%,-50%) 重叠在圆心 → 任意字体/设备下都精确居中；
   background:currentColor 跟随 .btns 的 color（默认蓝、hover 白）自动变色 */
#main li a.xx_add::before,
#main li a.xx_add::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:currentColor;
  border-radius:.15rem;
}
#main li a.xx_add::before{
  width:1.6rem;
  height:.24rem;
}
#main li a.xx_add::after{
  width:.24rem;
  height:1.6rem;
}

/* ===== 2026-08-09 通用编辑图标按钮：标签+下拉后的"编辑"按钮 → 铅笔圆形图标 =====
   用法：<a class="xx_edit btns" title="编辑"><i class="fa fa-pencil"></i></a>
   与 xx_add 同风格（圆形图标按钮），需 font-awesome（页面 head 引入）
   布局：桌面 标签+下拉+按钮同行；移动端 标签独占一行、下拉+按钮同行 */
#main li a.xx_edit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:3.4rem;
  min-width:3.4rem;
  max-width:3.4rem;
  height:3.4rem;
  padding:0;
  border-radius:50%;
  font-size:0;               /* 隐藏原文字（读屏可读） */
  line-height:1;
  vertical-align:middle;
  flex:none;
  margin:0;
}
#main li a.xx_edit i{
  font-size:1.5rem;
  line-height:1;
}
/* 编辑行：桌面 标签左固定 + 下拉弹性 + 按钮同行 */
#main li:has(a.xx_edit){
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
}
#main li:has(a.xx_edit) b{
  flex:none;
  margin:0;
}
#main li:has(a.xx_edit) span{
  flex:1 1 60%;
  min-width:0;
  margin:0;
}
@media only screen and (max-width:767px){
  /* 覆盖 #main li:not(.date):not(.submit):not(.lititle){display:block}（特异性 1,3,2 更高，必须 !important） */
  #main li:has(a.xx_edit){
    display:flex !important;
    flex-wrap:wrap;
    align-items:center;
    gap:.5rem;
  }
  #main li:has(a.xx_edit) b{
    flex:0 0 100%;
    width:100%;
    min-width:0;
    max-width:100%;
    margin:0 0 .2rem;
  }
  #main li:has(a.xx_edit) span{
    flex:1 1 0;
    min-width:0;
    width:auto;
    margin:0;
  }
  #main li:has(a.xx_edit) a.xx_edit{
    flex:none;
    margin:0;
  }
}

/* ===== 2026-08-08 计费时间行（div.stime）：标签左固定 + 选择器自适应 ===== */
#main li:has(> div.stime){
  position:relative;
  padding-left:12.3rem;
  display:flex;
  align-items:center;
  min-height:9rem;
}
#main li:has(> div.stime) b{
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:11.5rem;
  height:auto;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
#main li:has(> div.stime) .stime{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.6rem .8rem;
}
/* 2026-08-08 间距统一：stime 内（select/span）间距交给 gap，去横向 margin */
#main li:has(> div.stime) .stime > *{
  margin-left:0;
  margin-right:0;
}
/* 2026-08-08 起止日期三行排布：起始行 / -至- 行 / 结束行（去掉 br 后由 flex-basis 分行） */
#main li:has(> div.stime) .stime select{
  flex:1 1 30%;
  max-width:31%;
  width:auto;
  margin-left:0;
  margin-right:0;
}
#main li:has(> div.stime) .stime span{
  flex:0 0 100%;
  max-width:100%;
  text-align:left;
  line-height:2.6rem;
  color:var(--text);
}
@media only screen and (max-width:767px){
  #main li:has(> div.stime){
    display:block;
    padding-left:0;
    min-height:0;
  }
  #main li:has(> div.stime) b{
    position:static;
    display:block;
    width:100%;
    min-height:2.4rem;
    line-height:2.4rem;
    margin:0 0 .4rem;
    height:auto;
  }
  #main li:has(> div.stime) .stime{
    width:100%;
  }
  #main li:has(> div.stime) .stime select{
    width:31%;
    margin-left:0;
    margin-right:0;
  }
}
