/* ===== 聚耐力OA首页样式（V2.2.0 自 index.html 抽离） ===== */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:#f5f6fa;color:#333;line-height:1.6;min-height:100vh;padding-bottom:80px}
.header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:20px;text-align:center;position:sticky;top:0;z-index:100;box-shadow:0 4px 20px rgba(102,126,234,.4)}
.header h1{font-size:22px;font-weight:600}
.header p{font-size:13px;opacity:.9;margin-top:4px}
.user-bar{display:none !important}/* 企业微信可识别用户，隐藏重复信息栏 */
.user-info{display:flex;align-items:center;gap:10px}
.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:bold}
.user-name{font-size:15px;font-weight:600}
.user-role{font-size:12px;color:#666}

.container{padding:0 16px}
.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
/* V1.9.40 紧凑横条菜单 */
.menu-list{max-width:520px;margin:14px auto 0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.menu-row{display:flex;align-items:center;gap:12px;padding:13px 16px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .15s}
.menu-row:last-child{border-bottom:none}
.menu-row:active{background:#f5f6f8}
.menu-ic{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;flex-shrink:0}
.menu-tx{flex:1;min-width:0}
.menu-tx h3{font-size:16px;color:#333;margin-bottom:2px}
.menu-tx p{font-size:12px;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-ar{color:#c8c9cc;font-size:20px;flex-shrink:0}
/* V2.2.0 电脑端响应式网格布局（方案B） */
@media (min-width: 960px) {
  .menu-list{max-width:960px;display:grid;grid-template-columns:1fr 1fr;gap:16px;background:transparent;box-shadow:none;overflow:visible}
  .menu-row{border-radius:16px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.06);border-bottom:none;padding:24px;flex-direction:column;align-items:center;text-align:center;gap:8px;transition:transform .2s,box-shadow .2s}
  .menu-row:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
  .menu-ic{width:56px;height:56px;font-size:28px;border-radius:14px}
  .menu-tx{flex:none;min-width:auto}
  .menu-tx h3{font-size:18px;margin-bottom:4px}
  .menu-tx p{font-size:13px;white-space:normal;overflow:visible;text-overflow:clip}
  .menu-ar{display:none}
}
.card{background:#fff;border-radius:16px;padding:20px;text-align:center;box-shadow:0 2px 12px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s;cursor:pointer;border:2px solid transparent}
.card:active{transform:scale(.96)}
.card:hover{box-shadow:0 8px 24px rgba(0,0,0,.1)}
.card-icon{font-size:36px;margin-bottom:10px}
.card-blue{border-color:#e3f2fd;background:linear-gradient(135deg,#fff,#e3f2fd)}
.card-green{border-color:#e8f5e9;background:linear-gradient(135deg,#fff,#e8f5e9)}
.card-orange{border-color:#fff3e0;background:linear-gradient(135deg,#fff,#fff3e0)}
.card-purple{border-color:#f3e5f5;background:linear-gradient(135deg,#fff,#f3e5f5)}
.card h3{font-size:16px;margin-bottom:4px}
.card p{font-size:12px;color:#666}
.badge{background:#ff4757;color:#fff;font-size:11px;padding:2px 8px;border-radius:10px;position:absolute;top:8px;right:8px}
.page{display:none;animation:fadeIn .15s}
.page.active{display:block}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.form-card{background:#fff;border-radius:16px;padding:20px;margin-top:16px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:#555}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;border:2px solid #e8e8e8;border-radius:12px;font-size:15px;outline:none;transition:border-color .2s;-webkit-appearance:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea}
.form-group textarea{min-height:100px;resize:vertical}
.btn-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:14px 24px;border-radius:12px;font-size:16px;font-weight:600;width:100%;cursor:pointer;box-shadow:0 4px 16px rgba(102,126,234,.4);transition:transform .2s}
.btn-primary:active{transform:scale(.98)}
.btn-success{background:linear-gradient(135deg,#2ed573,#1e90ff);box-shadow:0 4px 16px rgba(46,213,115,.4)}
.btn-danger{background:linear-gradient(135deg,#ff4757,#ff6348);box-shadow:0 4px 16px rgba(255,71,87,.4)}
.btn-row{display:flex;gap:12px;margin-top:16px}
.btn-row .btn-primary{flex:1}
.result-box{background:#f8f9fa;border-radius:12px;padding:16px;margin-top:16px;border-left:4px solid #667eea}
.result-box.success{border-left-color:#2ed573;background:#e8f5e9}
.result-box.error{border-left-color:#ff4757;background:#ffe0e0}
.list-item{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);display:flex;justify-content:flex-start;align-items:center}
.list-item-info{flex:1}
.list-item-title{font-size:15px;font-weight:600;margin-bottom:4px}
.list-item-meta{font-size:12px;color:#666}
.list-item-actions{display:flex;gap:8px}
.empty-state{text-align:center;padding:40px 20px;color:#999}
.empty-state-icon{font-size:48px;margin-bottom:12px}
.nav-bar{position:fixed;bottom:0;left:0;right:0;background:#fff;display:flex;justify-content:space-around;padding:8px 0;border-top:1px solid #eee;z-index:100}
/* V2.2.0 底部导航栏电脑端居中（修正版：置于基础样式之后，避免left/right被覆盖；margin:auto居中，窗口略大于960px时不溢出） */
@media (min-width: 960px) {
  .nav-bar{max-width:960px;margin:0 auto;left:0;right:0;border-radius:0 0 14px 14px;border-top:none;box-shadow:0 2px 12px rgba(0,0,0,.06)}
}
.nav-item{flex:1;text-align:center;padding:4px;cursor:pointer;color:#999;font-size:12px}
.nav-item.active{color:#667eea;font-weight:600}
.nav-item-icon{font-size:22px;margin-bottom:2px}
.back-btn{display:inline-flex;align-items:center;gap:6px;color:#667eea;font-size:14px;font-weight:600;margin-bottom:12px;cursor:pointer}
.loading{display:inline-block;width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}

/* V1.9.71 报销类型选择器（第一行序号+名称，第二行灰色小字说明） */
.cat-trigger{width:100%;padding:8px;border:1px solid #ddd;border-radius:8px;font-size:14px;background:#fff;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;cursor:pointer;min-height:35px}
.cat-trigger .cat-tv{color:#222}
.cat-trigger .cat-tv.ph{color:#999}
.cat-trigger .cat-arrow{color:#999;font-size:12px;margin-left:8px}
.cat-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);z-index:9998;display:none}
.cat-sheet{position:fixed;left:0;right:0;bottom:0;background:#fff;border-radius:14px 14px 0 0;z-index:9999;display:none;flex-direction:column;max-height:72vh}
.cat-sheet-hd{padding:13px 16px;text-align:center;font-weight:600;font-size:15px;border-bottom:1px solid #f0f0f0;position:relative}
.cat-sheet-hd .cat-close{position:absolute;right:14px;top:11px;color:#999;font-size:16px;cursor:pointer;padding:2px 6px}
.cat-sheet-bd{overflow-y:auto;padding:4px 0 20px;-webkit-overflow-scrolling:touch}
.cat-item{padding:10px 16px;border-bottom:1px solid #f4f4f4;cursor:pointer}
.cat-item:last-child{border-bottom:none}
.cat-item .cn{font-size:15px;color:#222;font-weight:500}
.cat-item .cd{font-size:12px;color:#8a9bb5;margin-top:3px;line-height:1.5}
.cat-item.sel .cn{color:#07c160}
.cat-item:active{background:#f7f8fa}

/* --- 原第二style块 --- */
.expense-row { transition: all 0.2s; }
.expense-row:hover { border-color: #07c160 !important; }
select { background: #fff; }
input[type="date"] { font-family: inherit; }
/* ==================== V2.4.0 主页改版（方案四·混合式）：桌面深色侧栏+工作台首屏；手机保留卡片+待办横幅 ==================== */
/* 手机端待办横幅（默认隐藏，有待办且非桌面模式时JS置flex） */
.home-todo-banner{display:none;align-items:center;gap:8px;max-width:520px;margin:14px auto 0;padding:12px 16px;background:linear-gradient(135deg,#ff7a00 0%,#ffa940 100%);color:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(255,122,0,.25);cursor:pointer;font-size:14px;box-sizing:border-box}
.home-todo-banner .htb-num{background:#fff;color:#ff7a00;font-weight:700;border-radius:10px;min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.home-todo-banner .htb-go{margin-left:auto;font-size:12px;opacity:.9}
/* 桌面框架件（手机端隐藏，桌面模式由 body.dmode + media query 启用） */
.dside,.dtop,.prof-mask,.prof-pop{display:none}
/* 工作台（双端可用；窄屏自动单列） */
.wb-greet{display:flex;align-items:flex-end;justify-content:space-between;margin:18px 0 4px;gap:10px}
.wb-greet h2{margin:0;font-size:22px;color:#1f1f1f}
.wb-greet p{margin:4px 0 0;color:#8c8c8c;font-size:13px}
.wb-greet-date{color:#8c8c8c;font-size:13px;flex:none}
.wb-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
.wb-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.05);cursor:pointer;transition:transform .15s,box-shadow .15s}
.wb-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.wbc-ic{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:10px}
.wbc-num{font-size:24px;font-weight:700;line-height:1.2}
.wbc-label{margin-top:2px;font-size:13px;color:#8c8c8c}
.wb-cols{display:grid;grid-template-columns:1fr 320px;gap:14px;margin-top:14px;align-items:start}
.wb-panel{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.wb-side-col{display:flex;flex-direction:column;gap:14px}
.wbp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.wbp-head h3{margin:0;font-size:15px;color:#1f1f1f}
.wbp-more{font-size:12px;color:#1890ff;cursor:pointer}
.wb-empty{padding:28px 0;text-align:center;color:#bfbfbf;font-size:13px}
.wbt-row{display:flex;align-items:center;gap:10px;padding:11px 4px;border-bottom:1px solid #f5f5f5;cursor:pointer}
.wbt-row:last-child{border-bottom:none}
.wbt-row:hover{background:#fafafa}
.wbt-type{flex:none;background:#e6f7ff;color:#1890ff;font-size:11px;border-radius:4px;padding:2px 6px}
.wbt-main{flex:1;min-width:0}
.wbt-title{font-size:14px;color:#1f1f1f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wbt-sub{font-size:12px;color:#bfbfbf;margin-top:2px}
.wbt-amt{flex:none;font-size:14px;font-weight:600;color:#fa8c16}
.wb-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wbq-item{display:flex;align-items:center;gap:8px;padding:11px 12px;border:1px solid #f0f0f0;border-radius:10px;font-size:13px;color:#333;cursor:pointer;transition:all .15s}
.wbq-item:hover{border-color:#1890ff;color:#1890ff;background:#f0f7ff}
.wbn-item{font-size:13px;color:#595959;padding:8px 0;border-bottom:1px dashed #f0f0f0;line-height:1.5}
.wbn-item:last-child{border-bottom:none}
@media (max-width: 899px){
  .wb-cards{grid-template-columns:1fr 1fr}
  .wb-cols{grid-template-columns:1fr}
  .wb-greet h2{font-size:19px}
}
/* 桌面模式（≥900px）：深色侧栏 + 顶栏 + 内容区让位（z-index 控制在 150 以下，给全屏弹层≥200 让路） */
@media (min-width: 900px){
  body.dmode{padding-bottom:0;background:#f0f2f5}
  body.dmode .dside{display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;width:220px;background:#001529;z-index:150;overflow-y:auto}
  .dside-logo{padding:8px 16px 6px;border-bottom:1px solid rgba(255,255,255,.08)}
  .dside-logo h1{font-size:15px;font-weight:600;color:#fff;margin:0}
  .dside-logo p{font-size:10px;color:rgba(255,255,255,.45);margin:2px 0 0}
  .dside-sec{padding:8px 18px 2px;font-size:9.5px;letter-spacing:1.5px;color:rgba(255,255,255,.38)}
  .dside-item{display:flex;align-items:center;gap:8px;margin:1px 8px;padding:5px 10px;color:rgba(255,255,255,.75);font-size:13px;cursor:pointer;border-radius:7px;transition:background .15s,color .15s}
  .dside-item:hover{background:rgba(255,255,255,.08);color:#fff}
  .dside-item.active{background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff;font-weight:600;box-shadow:0 2px 8px rgba(24,144,255,.35)}
  .dsi-ic{width:18px;text-align:center;flex:none;font-size:14px}
  .dside::-webkit-scrollbar{width:4px}
  .dside::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:2px}
  .dsi-badge{margin-left:auto;background:#f5222d;color:#fff;font-size:10px;border-radius:8px;min-width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
  body.dmode .dtop{display:flex;align-items:center;position:fixed;left:220px;right:0;top:0;height:52px;background:#fff;z-index:140;box-shadow:0 1px 4px rgba(0,21,41,.08);padding:0 24px;box-sizing:border-box}
  .dtop-crumb{font-size:14px;color:#8c8c8c}
  .dtop-crumb b{color:#1f1f1f;font-weight:600}
  .dtop-right{margin-left:auto;display:flex;align-items:center;gap:20px}
  .dtop-bell{position:relative;cursor:pointer;font-size:17px;line-height:1}
  .db-num{position:absolute;top:-7px;right:-9px;background:#f5222d;color:#fff;font-size:10px;border-radius:8px;min-width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}
  .dtop-user{display:flex;align-items:center;gap:8px;cursor:pointer}
  .du-av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}
  .du-name{font-size:13px;color:#333;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* V3.4.56 顶栏个人信息弹层（谭副总：铃铛位改查看个人信息） */
  .dtop-user{padding:5px 10px;border-radius:8px;transition:background .15s}
  .dtop-user:hover{background:#f5f6fa}
  .prof-mask{display:none;position:fixed;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,.25);z-index:198}
  .prof-pop{display:none;position:fixed;top:60px;right:24px;width:340px;background:#fff;border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.16);z-index:199;padding-bottom:10px;overflow:hidden}
  .pp-hero{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#667eea,#764ba2);padding:18px;position:relative}
  .pp-ava{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.22);border:2px solid rgba(255,255,255,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:700;flex-shrink:0}
  .pp-hm{flex:1;min-width:0}
  .pp-name{font-size:17px;font-weight:700;color:#fff}
  .pp-sub{font-size:12px;color:rgba(255,255,255,.85);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pp-x{position:absolute;top:10px;right:12px;color:rgba(255,255,255,.85);cursor:pointer;font-size:13px;padding:4px}
  .pp-sec{font-size:13px;font-weight:600;color:#333;margin:12px 16px 4px;padding-bottom:6px;border-bottom:1px solid #f0f0f0}
  .pp-row{display:flex;justify-content:space-between;padding:7px 16px;font-size:12px}
  .pp-row span{color:#888}
  .pp-row b{color:#333;font-weight:600;text-align:right;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pp-go{margin:10px 16px 4px;padding:9px;text-align:center;background:#f6f7fb;border-radius:8px;color:#667eea;font-size:13px;font-weight:600;cursor:pointer}
  .pp-go:hover{background:#eceffb}
  body.dmode .page.active{margin-left:220px;padding:64px 24px 24px;min-height:100vh;box-sizing:border-box}
  body.dmode .header{display:none !important}
  body.dmode .nav-bar{display:none !important}
  body.dmode .container{padding:0;max-width:1200px;margin:0 auto}
  body.dmode .menu-list{max-width:720px}
}

/* ==================== V2.4.1 桌面版式：报销申请(左表单+右汇总卡) / 审批中心(左列表+右详情内嵌) / 单据查询(条件横排+结果行化) —— 仅 body.dmode 桌面模式生效，手机端零影响 ==================== */
/* ---- 报销申请 ---- */
body.dmode #page-expense .container{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;max-width:1200px;align-items:start}
body.dmode #page-expense .form-card{max-width:none;margin:16px 0 0}
/* 基本信息区块：字段双列，整行元素例外 */
body.dmode #page-expense .exp-sec-a{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
body.dmode #page-expense .exp-sec-a > h4,
body.dmode #page-expense .exp-sec-a > div:not(.form-group),
body.dmode #page-expense .exp-sec-a > .exp-span2,
body.dmode #page-expense .exp-sec-a > #supplierGroup,
body.dmode #page-expense .exp-sec-a > #invoiceAttachWrap{grid-column:1/-1}
/* 收款信息区块：字段双列 */
body.dmode #page-expense .exp-sec-b{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
body.dmode #page-expense .exp-sec-b > h4,
body.dmode #page-expense .exp-sec-b > div:not(.form-group){grid-column:1/-1}
/* 费用明细行：桌面三列并排（序号行整行） */
body.dmode #page-expense .expense-row{display:grid;grid-template-columns:2fr 1fr 130px;gap:12px;align-items:end}
body.dmode #page-expense .expense-row > div{margin-bottom:0 !important}
body.dmode #page-expense .expense-row > div:first-child{grid-column:1/-1;margin-bottom:6px !important}
/* 右侧汇总卡（JS创建，手机端不创建） */
.exp-aside{background:#fff;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,.05);padding:16px;position:sticky;top:76px}
.exp-aside h3{margin:0 0 12px;font-size:15px;color:#1f1f1f}
.exp-aside .ea-row{display:flex;justify-content:space-between;font-size:13px;color:#595959;padding:6px 0;border-bottom:1px dashed #f0f0f0}
.exp-aside .ea-row b{color:#1f1f1f;font-weight:600;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exp-aside .ea-amt{margin:12px 0;text-align:center;background:#fff7e6;border-radius:10px;padding:14px}
.exp-aside .ea-amt .n{font-size:26px;font-weight:700;color:#fa8c16}
.exp-aside .ea-amt .l{font-size:12px;color:#8c8c8c;margin-top:2px}
.exp-aside .ea-tip{font-size:11px;color:#bfbfbf;text-align:center;margin-top:8px;line-height:1.5}
/* ---- 审批中心：左列表(416px) + 详情内嵌右栏 ---- */
body.dmode #page-approve .container{max-width:none;margin:0}
body.dmode #page-approve .form-card{max-width:416px;margin:16px 0 0;max-height:calc(100vh - 100px);overflow:auto}
body.dmode #page-approve .list-item{cursor:pointer;border:2px solid transparent;box-sizing:border-box}
body.dmode #page-approve .list-item.apv-sel{border-color:#1890ff;box-shadow:0 2px 8px rgba(24,144,255,.15)}
/* 详情弹层 → 桌面右栏内嵌面板（内联样式全量 !important 覆盖） */
body.dmode #detailModal{position:fixed !important;inset:auto !important;left:676px !important;right:24px !important;top:76px !important;bottom:24px !important;background:transparent !important;z-index:50 !important;padding:0 !important;overflow:hidden !important}
body.dmode #detailModal > div{max-width:none !important;height:100%;display:flex;flex-direction:column;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
body.dmode #detailModalBody{max-height:none !important;flex:1}
/* 未选中单据时的空态面板（与详情面板同位互斥） */
#approveDeskEmpty{display:none}
body.dmode #approveDeskEmpty.show{display:flex;position:fixed;left:676px;right:24px;top:76px;bottom:24px;z-index:49;background:#fff;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,.05);align-items:center;justify-content:center;flex-direction:column;color:#bfbfbf;font-size:14px}
body.dmode #approveDeskEmpty.show .ade-ic{font-size:46px;margin-bottom:10px}
/* ---- 单据查询：条件横排 + 结果行化 ---- */
body.dmode #page-query .form-card{max-width:1000px;margin:16px auto 0}
body.dmode #page-query .form-card > .form-group:first-of-type{max-width:280px}
body.dmode #page-query #queryPanelMylist:not([style*="none"]){display:grid !important;grid-template-columns:180px minmax(0,1fr) 150px;gap:10px;align-items:end;max-width:760px}
body.dmode #page-query #queryPanelMylist > div{margin-top:0 !important}
body.dmode #page-query #queryPanelMylist > button{margin-top:0 !important}
body.dmode #page-query #queryPanelDocno{max-width:420px}
/* 桌面表头（HTML注入，手机隐藏） */
#queryDeskHead{display:none}
body.dmode #queryDeskHead{display:grid;grid-template-columns:minmax(280px,1.1fr) minmax(0,1fr) 90px;gap:16px;padding:16px 8px 8px;font-size:12px;color:#8c8c8c;border-bottom:1px solid #f0f0f0}
/* 结果卡片 → 表格行 */
body.dmode #queryResult .list-item{display:grid !important;grid-template-columns:minmax(280px,1.1fr) minmax(0,1fr) auto;gap:16px;align-items:center;border-radius:0 !important;box-shadow:none !important;margin-bottom:0 !important;padding:13px 8px;border-bottom:1px solid #f0f0f0}
body.dmode #queryResult .list-item .list-item-title{margin-bottom:0;font-size:14px}
body.dmode #queryResult .list-item .list-item-meta{display:flex;gap:24px;align-items:center;font-size:13px}
body.dmode #queryResult .list-item .list-item-meta br{display:none}
body.dmode #queryResult .list-item button{margin-top:0 !important}
body.dmode #queryResult .list-item:hover{background:#fafcff}

/* V2.4.1-fix 查询行meta：改单行省略（原flex在长事由下挤压"状态:"竖排） */
body.dmode #queryResult .list-item .list-item-meta{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
body.dmode #queryResult .list-item .list-item-meta span{margin-right:16px}

/* V2.4.2 统计报表桌面版式：限宽 + 功能卡片4列 */
body.dmode #page-stats .container{max-width:1100px}
body.dmode #page-stats .container > div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:repeat(4,1fr) !important}
body.dmode #page-stats #adminPanel{max-width:1100px;margin-left:auto !important;margin-right:auto !important}

/* V2.4.5 侧栏底部版本号区 */
body.dmode .dside-foot{margin-top:auto;padding:6px 16px;font-size:10px;color:rgba(255,255,255,.32);border-top:1px solid rgba(255,255,255,.08)}

/* ==================== V2.4.6 版本更新日志页（时间线） ==================== */
.cl-card{max-width:1200px;margin-left:auto;margin-right:auto}
.cl-sub{margin:-6px 0 14px;font-size:12px;color:#8c8c8c}
.cl-item{position:relative;padding:0 0 18px 26px;border-left:2px solid #e8e8e8;margin-left:8px}
.cl-item:last-child{border-left-color:transparent;padding-bottom:4px}
.cl-item::before{content:'';position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:#d9d9d9;border:2px solid #fff;box-shadow:0 0 0 2px #e8e8e8}
.cl-item:first-child::before{background:#1890ff;box-shadow:0 0 0 2px #bae0ff}
.cl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cl-ver{background:#1890ff;color:#fff;font-size:12px;font-weight:600;border-radius:10px;padding:2px 9px}
.cl-item:first-child .cl-ver{background:#f5222d}
.cl-new{font-size:10px;color:#f5222d;border:1px solid #ffa39e;border-radius:8px;padding:1px 6px;background:#fff1f0}
.cl-date{font-size:12px;color:#8c8c8c}
.cl-text{margin-top:6px;font-size:13px;color:#404040;line-height:1.7}
.wb-notice-link{cursor:pointer;transition:background .15s;border-radius:8px}
.wb-notice-link:hover{background:#fafcff}


/* V2.4.10 桌面端永不显示手机卡片首页（JS本就将桌面home重定向workbench；消除跳回主站时首绘闪手机首页紫红横幅） */
@media (min-width:900px){
  #page-home.page.active{display:none !important}
  body:not(.dmode) > *:not(script):not(style):not(link){visibility:hidden !important;animation:oaBootShow .2s ease 2.8s forwards}
  body:not(.dmode){background:#f4f6fa}
  @keyframes oaBootShow{to{visibility:visible}}
}

/* ===== V2.6.0 分组宫格菜单（方案A） ===== */
.menu-groups{max-width:520px;margin:14px auto 0}
.menu-group{margin-bottom:14px}
.mg-title{font-size:13px;font-weight:600;color:#666;margin:0 4px 8px;letter-spacing:.5px}
.mg-card{background:#fff;border-radius:14px;box-shadow:0 1px 4px rgba(0,0,0,.06);display:flex;flex-wrap:wrap;padding:8px 4px}
.mg-item{width:25%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;cursor:pointer;border-radius:10px;transition:background .15s;box-sizing:border-box}
.mg-item:active{background:#f5f6f8}
.mg-ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:23px;color:#fff}
.mg-tx{font-size:12px;color:#333;text-align:center;white-space:nowrap;overflow:hidden;max-width:100%}
/* V2.6.0 头部适当压扁，给菜单留空间 */
.header{padding:14px 20px}
.header h1{font-size:20px}
/* V3.4.20 手机首页紧凑化+取消上下滑动：全区块压间距；手机端首页锁一屏高overflow:hidden+文本不随系统字体放大（X5大字体用户推高主因） */
.menu-groups{margin:8px auto 0}
.menu-group{margin-bottom:8px}
.mg-title{font-size:12px;margin:0 4px 5px}
.mg-card{padding:6px 2px;border-radius:12px}
.mg-item{padding:8px 4px;gap:4px}
.mg-ic{width:42px;height:42px;font-size:21px;border-radius:10px}
.home-todo-banner{margin:8px auto 0;padding:8px 14px}
.header{padding:9px 16px}
.header h1{font-size:18px}
.header p{font-size:12px;margin-top:2px}
@media (max-width:959px){
  .page{animation:none}
  #page-home{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  /* V3.4.98 首页改可上下滑动(杨总): 撤V3.4.20锁高, body自然滚动, 底栏80px占位恢复全局默认 */
}
/* V2.6.0 电脑端：三组三列 */
@media (min-width: 960px){
  .menu-groups{max-width:960px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
  .menu-group{margin-bottom:0}
  .mg-card{padding:12px 8px}
  .mg-item{padding:16px 4px}
  .mg-ic{width:52px;height:52px;font-size:26px;border-radius:14px}
  .mg-tx{font-size:13px}
}

/* V3.4.24 重载/冷启动防闪首页：oa-restore期间隐藏首页与渐变头（首次showPage撤除class，2.8s异常兜底） */
html.oa-restore #page-home{display:none !important}
html.oa-restore .header{display:none !important}

/* ==================== V3.4.52 设置页桌面版式（杨总：手机版式被原样拉伸到电脑）——头卡+双栏信息+下属双列+入口并排；仅 body.dmode ≥900px 生效，手机端零影响 ==================== */
body.dmode #page-settings .container{max-width:1080px}
body.dmode #page-settings .form-card{margin:24px auto 0;padding:0;background:transparent !important;box-shadow:none !important;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 20px}
body.dmode #page-settings .form-card > h2{grid-column:1/-1;margin-bottom:2px !important;font-size:20px}
body.dmode #page-settings .form-card > div{grid-column:1/-1}
body.dmode #page-settings .form-card > #permEntry,
body.dmode #page-settings .form-card > #changelogEntry{grid-column:auto;margin-bottom:0 !important}
body.dmode #settingsInfo[style*="block"]{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 20px;align-items:start}
body.dmode #settingsInfo > div{margin-bottom:0 !important}
body.dmode #page-settings .info-row{padding:12px 0 !important}
body.dmode #subordinateItems{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 20px}
body.dmode #settingsRefreshArea{text-align:center}
body.dmode #settingsRefreshArea button{width:auto !important;padding:12px 48px !important;margin-top:4px !important}
