/**
 * 智慧政务 H5 · 统一 UI 插件（居民 index + 员工 user 全站）
 * 用法：引入 h5-ui.css + h5-ui.js，使用 window.H5UI（VisitorUI 为兼容别名）
 */
:root{
  --vui-primary:#3d6eff;
  --vui-primary-light:#eef3ff;
  --vui-text:#1a1a2e;
  --vui-sub:#8a8f9c;
  --vui-border:#eef0f4;
  --vui-bg:#f5f7fb;
  --vui-card:#fff;
  --vui-danger:#ea5050;
  --vui-ok:#07c160;
  --vui-warn:#f0a020;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
body.vui-body,html.vui-body{margin:0;background:var(--vui-bg);color:var(--vui-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;}
.vui-page{min-height:100vh;padding-bottom:1.6rem;}
.vui-page.has-fab{padding-bottom:1.8rem;}
.vui-page.has-bar{padding-bottom:1.4rem;}
.hide{display:none!important;}

/* 顶栏 */
.vui-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;padding:0.32rem 0.36rem;background:linear-gradient(135deg,#4a7dff 0%,#3d6eff 100%);color:#fff;box-shadow:0 2px 12px rgba(61,110,255,.25);}
.vui-top a{color:#fff;text-decoration:none!important;border:0;box-shadow:none;outline:none;}
/* 返回：CSS 箭头，避免字符 ‹ 被当成链接下划线 */
.vui-top .vui-back{
  flex:0 0 auto;width:0.72rem;height:0.72rem;margin:0;padding:0;
  display:inline-flex;align-items:center;justify-content:center;
  position:relative;
  color:transparent!important;font-size:0!important;line-height:0;
  text-decoration:none!important;text-shadow:none;
  border:0!important;border-bottom:0!important;outline:none!important;
  background:rgba(255,255,255,.14);border-radius:50%;
  box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent;
  overflow:hidden;
}
.vui-top .vui-back::before{
  content:"";position:absolute;left:50%;top:50%;
  width:0.18rem;height:0.18rem;
  border-left:2px solid #fff;border-bottom:2px solid #fff;
  transform:translate(-35%,-50%) rotate(45deg);
  box-sizing:border-box;
}
.vui-top .vui-back:hover,.vui-top .vui-back:focus,.vui-top .vui-back:active{
  color:transparent!important;text-decoration:none!important;
  background:rgba(255,255,255,.22);
}
.vui-top h1{flex:1;text-align:center;margin:0;font-size:0.36rem;font-weight:600;}
.vui-top .vui-sp{width:0.72rem;flex:0 0 auto;}
.vui-sub{text-align:center;font-size:0.24rem;color:var(--vui-sub);padding:0.28rem 0.4rem 0.12rem;}

/* 筛选栏 */
.vui-filter{margin:0 0.32rem 0.2rem;background:var(--vui-card);border-radius:16px;padding:0.24rem 0.28rem;box-shadow:0 4px 16px rgba(15,35,80,.05);}
.vui-filter-row{margin-bottom:0.2rem;}
.vui-filter-row:last-of-type{margin-bottom:0.16rem;}
.vui-filter-label{font-size:0.24rem;color:var(--vui-sub);margin-bottom:0.1rem;}
.vui-filter-row input[type=date],.vui-filter-row .vui-picker-trigger{width:100%;border:none;outline:none;background:#f8f9fc;border-radius:10px;font-size:0.28rem;color:var(--vui-text);padding:0.2rem 0.24rem;min-height:0.76rem;}
.vui-filter-dates{display:flex;gap:0.16rem;align-items:center;}
.vui-filter-dates input{flex:1;min-width:0;}
.vui-filter-dates span{font-size:0.24rem;color:var(--vui-sub);flex-shrink:0;}
.vui-filter-actions{display:flex;gap:0.16rem;margin-top:0.08rem;}
.vui-filter-actions .vui-btn{flex:1;height:0.72rem;font-size:0.28rem;}

/* 卡片 / 表单 */
.vui-card,.vui-form-card{margin:0.24rem 0.32rem;background:var(--vui-card);border-radius:16px;padding:0.28rem 0.32rem;box-shadow:0 4px 20px rgba(15,35,80,.06);}
.vui-form-card{padding:0.08rem 0.32rem 0.24rem;}
/* 表单并排：左标签 + 右控件 */
.vui-form-inline .vui-field{display:flex;align-items:center;gap:0.2rem;padding:0.24rem 0;}
.vui-form-inline .vui-field label{width:1.56rem;flex-shrink:0;margin-bottom:0;font-size:0.28rem;line-height:1.35;}
.vui-form-inline .vui-field > input,
.vui-form-inline .vui-field > .vui-picker-trigger,
.vui-form-inline .vui-field > .vui-readonly,
.vui-form-inline .vui-field > .vui-select-wrap,
.vui-form-inline .vui-field > .vui-remind-row,
.vui-form-inline .vui-field > .vui-attach-box{flex:1;min-width:0;}
.vui-form-inline .vui-field.vui-field-stack{align-items:stretch;flex-direction:column;gap:0.12rem;}
.vui-form-inline .vui-field.vui-field-stack label{width:auto;margin-bottom:0;}
.vui-form-inline .vui-field.vui-field-switch{justify-content:space-between;}
.vui-form-inline .vui-field.vui-field-switch label{flex:1;width:auto;}
.vui-form-inline .vui-field.vui-field-switch input[type=checkbox]{width:0.4rem;height:0.4rem;flex-shrink:0;}
.vui-remind-row{display:flex;gap:0.12rem;align-items:center;flex-wrap:wrap;background:#f8f9fc;border-radius:10px;padding:0.18rem 0.24rem;font-size:0.26rem;color:var(--vui-sub);}
.vui-remind-row input[type=number]{width:0.88rem;border:none;outline:none;background:#fff;border-radius:8px;text-align:center;font-size:0.28rem;color:var(--vui-text);padding:0.12rem 0;}
.vui-attendee-block{padding:0.08rem 0 0.16rem;margin:0.08rem 0 0.16rem;border-bottom:1px dashed var(--vui-border);}
.vui-attendee-block:last-child{border-bottom:none;margin-bottom:0;}
.vui-field{padding:0.28rem 0;border-bottom:1px solid var(--vui-border);}
.vui-field:last-child{border-bottom:none;}
.vui-field label{display:block;font-size:0.26rem;color:var(--vui-sub);margin-bottom:0.14rem;font-weight:500;}
.vui-field label em{color:var(--vui-danger);font-style:normal;margin-right:2px;}
.vui-field input,.vui-field textarea,.vui-field .vui-picker-trigger,.vui-field .vui-readonly{width:100%;border:none;outline:none;background:#f8f9fc;border-radius:10px;font-size:0.3rem;color:var(--vui-text);padding:0.22rem 0.28rem;}
.vui-field .vui-readonly{min-height:0.84rem;line-height:1.45;background:#f3f5f9;color:#555;}
.vui-select-wrap{position:relative;}
.vui-select-wrap select{appearance:none;-webkit-appearance:none;width:100%;border:none;outline:none;background:#f8f9fc;border-radius:10px;font-size:0.3rem;color:var(--vui-text);padding:0.22rem 0.56rem 0.22rem 0.28rem;min-height:0.84rem;line-height:1.45;}
.vui-select-wrap::after{content:'›';position:absolute;right:0.28rem;top:50%;transform:translateY(-50%) rotate(90deg);color:#b8bcc6;font-size:0.36rem;pointer-events:none;}
.vui-field textarea{min-height:1.6rem;resize:none;line-height:1.5;}
.vui-field input[type=datetime-local]{
  min-height:0.88rem;
  position:relative;
  box-sizing:border-box;
  /* 整框可点开日期选择，避免只点到右侧小图标 */
  cursor:pointer;
}
.vui-field input[type=datetime-local]::-webkit-calendar-picker-indicator{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  opacity:0;
  cursor:pointer;
}
.vui-field-hint{margin:0.08rem 0 0;font-size:0.22rem;color:var(--vui-sub);line-height:1.4;}

/* 详情行 */
.vui-dl{margin:0;}
.vui-dl .vui-row{display:flex;padding:0.22rem 0;border-bottom:1px solid var(--vui-border);font-size:0.28rem;line-height:1.5;}
.vui-dl .vui-row:last-child{border-bottom:none;}
.vui-dl .vui-dt{width:1.8rem;flex-shrink:0;color:var(--vui-sub);}
.vui-dl .vui-dd{flex:1;color:var(--vui-text);word-break:break-all;}

/* 状态标签 */
.vui-tag{display:inline-block;font-size:0.22rem;padding:0.06rem 0.18rem;border-radius:999px;color:#fff;font-weight:500;}
.vui-tag.s1{background:var(--vui-warn);}
.vui-tag.s2{background:var(--vui-ok);}
.vui-tag.s3{background:var(--vui-danger);}
.vui-tag.s4{background:#999;}
.vui-tag.s5{background:#3d6eff;}
.vui-tag-lg{font-size:0.26rem;padding:0.1rem 0.24rem;}

/* 状态 Tab */
.vui-tabs{display:flex;gap:0.12rem;padding:0.2rem 0.32rem 0.24rem;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.vui-tabs.is-equal .vui-tab{flex:1;text-align:center;justify-content:center;}
.vui-top + .vui-tabs{padding-top:0.36rem;}
.vui-sub + .vui-tabs{padding-top:0.16rem;}
.vui-tabs::-webkit-scrollbar{display:none;}
.vui-tab{flex-shrink:0;padding:0.14rem 0.28rem;border-radius:999px;font-size:0.26rem;color:var(--vui-sub);background:#fff;border:1px solid var(--vui-border);cursor:pointer;}
.vui-tab.on{color:#fff;background:linear-gradient(135deg,#4a7dff,#3d6eff);border-color:transparent;box-shadow:0 2px 8px rgba(61,110,255,.25);}
.vui-tab .vui-tab-badge{display:inline-block;margin-left:0.08rem;min-width:0.32rem;padding:0 0.08rem;font-size:0.2rem;line-height:0.32rem;border-radius:999px;background:rgba(255,255,255,.25);vertical-align:middle;}
.vui-tab:not(.on) .vui-tab-badge{background:var(--vui-danger);color:#fff;}

/* 列表项 */
.vui-list{margin:0 0.32rem;}
.vui-item{background:var(--vui-card);border-radius:16px;padding:0.24rem 0.28rem;margin-bottom:0.2rem;box-shadow:0 4px 16px rgba(15,35,80,.05);position:relative;}
.vui-item.is-muted{opacity:.55;}
.vui-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:0.16rem;}
.vui-item-head{display:flex;align-items:flex-start;gap:0.2rem;flex:1;min-width:0;}
.vui-avatar{width:0.72rem;height:0.72rem;border-radius:50%;background:linear-gradient(135deg,#6b9bff,#3d6eff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.28rem;font-weight:600;flex-shrink:0;}
.vui-item-main{flex:1;min-width:0;padding-right:1.35rem;}
.vui-item-title{font-size:0.3rem;font-weight:600;color:var(--vui-text);line-height:1.35;}
.vui-item-phone{display:block;font-size:0.24rem;color:var(--vui-sub);font-weight:normal;margin-top:0.04rem;}
.vui-item-meta{margin-top:0.1rem;font-size:0.24rem;color:var(--vui-sub);line-height:1.55;}
.vui-item-meta b{color:var(--vui-text);font-weight:500;}
.vui-item-status{position:absolute;top:0.24rem;right:0.28rem;flex-shrink:0;z-index:1;}
.vui-item-foot{margin-top:0.16rem;padding-top:0.16rem;border-top:1px solid var(--vui-border);display:flex;align-items:center;justify-content:flex-end;gap:0.12rem;}
/* 兼容旧结构：绝对定位标签（逐步废弃） */
.vui-item-tag-pos{position:absolute;top:0.24rem;right:0.28rem;}

/* 按钮 */
button.vui-btn,a.vui-btn{-webkit-appearance:none;appearance:none;font-family:inherit;}
.vui-btn{display:inline-flex;align-items:center;justify-content:center;padding:0.14rem 0.32rem;border-radius:999px;font-size:0.26rem;border:none;cursor:pointer;text-decoration:none;line-height:1;}
.vui-btn-primary{background:linear-gradient(135deg,#4a7dff,#3d6eff);color:#fff;box-shadow:0 4px 14px rgba(61,110,255,.3);}
.vui-btn-ghost{background:var(--vui-primary-light);color:var(--vui-primary);}
.vui-btn-danger{background:#fff;color:var(--vui-danger);border:1px solid var(--vui-danger);}
.vui-btn-block{display:flex;align-items:center;justify-content:center;width:calc(100% - 0.64rem);margin:0.48rem 0.32rem 0;height:0.96rem;padding:0;line-height:1;text-align:center;font-size:0.34rem;font-weight:600;border-radius:999px;}
.vui-btn-block:disabled{opacity:.6;box-shadow:none;}
.vui-btn-group{display:flex;gap:0.24rem;padding:0.24rem 0.32rem 0.48rem;}
.vui-btn-group .vui-btn{flex:1;height:0.88rem;font-size:0.3rem;padding:0;}

/* 悬浮按钮 */
.vui-fab{position:fixed;left:0.32rem;right:0.32rem;bottom:0.36rem;display:flex;align-items:center;justify-content:center;height:0.96rem;padding:0;line-height:1;text-align:center;background:linear-gradient(135deg,#4a7dff,#3d6eff);color:#fff;font-size:0.32rem;font-weight:600;border-radius:999px;text-decoration:none;box-shadow:0 8px 22px rgba(61,110,255,.35);z-index:10;}

/* 空态 / 错误 */
.vui-empty,.vui-loading,.vui-error{text-align:center;padding:1.2rem 0.32rem;color:var(--vui-sub);font-size:0.28rem;background:var(--vui-card);border-radius:16px;margin:0.24rem 0.32rem;}
.vui-error{color:var(--vui-danger);}

/* 二维码区 */
.vui-qr{text-align:center;padding:0.32rem 0;}
.vui-qr img{width:3.2rem;height:3.2rem;border-radius:12px;border:1px solid var(--vui-border);}
.vui-qr .code{font-size:0.32rem;font-weight:700;margin-top:0.16rem;letter-spacing:1px;color:var(--vui-text);}
.vui-qr .hint{font-size:0.24rem;color:var(--vui-sub);margin-bottom:0.16rem;}

/* 人脸上传 */
.vui-face-uploader{display:flex;align-items:center;gap:0.24rem;}
.vui-face-uploader img{width:1.44rem;height:1.44rem;border-radius:12px;object-fit:cover;border:2px solid var(--vui-border);display:none;}
.vui-face-uploader label{display:inline-flex;padding:0.18rem 0.32rem;background:var(--vui-primary-light);color:var(--vui-primary);border-radius:999px;font-size:0.26rem;cursor:pointer;}
.vui-face-uploader input[type=file]{display:none;}
.vui-face-preview{width:2.4rem;height:2.4rem;border-radius:12px;object-fit:cover;margin-top:0.12rem;border:1px solid var(--vui-border);}
.vui-accompany-bar{display:flex;align-items:center;justify-content:space-between;gap:0.2rem;margin-bottom:0.12rem;}
.vui-accompany-bar .vui-acc-count{font-size:0.24rem;color:var(--vui-sub);}
.vui-accompany-list{display:flex;flex-direction:column;gap:0.2rem;}
.vui-accompany-item{padding:0.2rem 0.24rem;border:1px solid var(--vui-border);border-radius:12px;background:#fafbfd;}
.vui-accompany-item .vui-field{padding:0.12rem 0;}
.vui-accompany-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.04rem;font-size:0.26rem;font-weight:600;color:var(--vui-text);}
.vui-accompany-del{border:0;background:transparent;color:var(--vui-danger);font-size:0.24rem;padding:0.08rem 0.12rem;cursor:pointer;}
.vui-accompany-view{display:flex;align-items:center;gap:0.2rem;margin-top:0.12rem;}
.vui-accompany-view-name{min-width:1.2rem;font-size:0.26rem;}
.vui-accompany-view .vui-face-preview{width:1.2rem;height:1.2rem;margin-top:0;border-radius:8px;}
.vui-accompany-view-meta{font-size:0.24rem;color:var(--vui-sub);margin-bottom:0.04rem;}

/* 附件上传/预览 */
.vui-attach-box{margin-top:0.08rem;}
.vui-attach-add{display:inline-flex;padding:0.18rem 0.32rem;background:var(--vui-primary-light);color:var(--vui-primary);border-radius:999px;font-size:0.26rem;cursor:pointer;}
.vui-attach-add input{display:none;}
.vui-attach-tip{font-size:0.22rem;color:var(--vui-sub);margin:0.12rem 0 0;}
.vui-attach-list{list-style:none;padding:0;margin:0.16rem 0 0;}
.vui-attach-item{display:flex;align-items:center;gap:0.16rem;padding:0.16rem 0;border-bottom:1px solid var(--vui-border);}
.vui-attach-thumb{width:0.96rem;height:0.96rem;object-fit:cover;border-radius:8px;border:1px solid var(--vui-border);}
.vui-attach-icon{width:0.96rem;height:0.96rem;display:flex;align-items:center;justify-content:center;background:#f3f5f9;border-radius:8px;font-size:0.22rem;color:var(--vui-sub);}
.vui-attach-name{flex:1;font-size:0.26rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vui-attach-del{border:none;background:none;color:#e74c3c;font-size:0.24rem;cursor:pointer;padding:0.08rem;}
.vui-attach-preview{display:inline-block;margin:0.08rem 0.16rem 0.08rem 0;}
.vui-attach-preview img{max-width:2.4rem;max-height:2.4rem;border-radius:8px;border:1px solid var(--vui-border);}
.vui-attach-link{display:block;color:var(--vui-primary);font-size:0.26rem;margin:0.08rem 0;}

/* 选择器触发器 */
.vui-picker-trigger{display:flex;align-items:center;justify-content:space-between;cursor:pointer;min-height:0.84rem;}
.vui-picker-trigger .val{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vui-picker-trigger .ph{color:#b8bcc6;}
.vui-picker-trigger .arrow{color:#b8bcc6;font-size:0.36rem;transform:rotate(90deg);margin-left:0.16rem;}

/* Bottom Sheet */
.vui-sheet-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:100;opacity:0;visibility:hidden;transition:opacity .25s;}
.vui-sheet-mask.show{opacity:1;visibility:visible;}
.vui-sheet-panel{position:fixed;left:0;right:0;bottom:0;z-index:101;background:#fff;border-radius:20px 20px 0 0;max-height:78vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .28s cubic-bezier(.32,.72,0,1);}
.vui-sheet-panel.show{transform:translateY(0);}
.vui-sheet-head{display:flex;align-items:center;padding:0.28rem 0.32rem;border-bottom:1px solid var(--vui-border);}
.vui-sheet-head .btn{font-size:0.28rem;color:var(--vui-sub);padding:0.08rem 0.12rem;cursor:pointer;background:none;border:none;}
.vui-sheet-head .btn.primary{color:var(--vui-primary);font-weight:600;}
.vui-sheet-head .title{flex:1;text-align:center;font-size:0.32rem;font-weight:600;}
.vui-sheet-search{padding:0.2rem 0.32rem;border-bottom:1px solid var(--vui-border);}
.vui-sheet-search input{width:100%;border:none;outline:none;background:#f3f5f9;border-radius:999px;padding:0.22rem 0.32rem 0.22rem 0.72rem;font-size:0.28rem;}
.vui-sheet-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0.08rem 0 0.32rem;}
.vui-sheet-item{display:flex;align-items:center;padding:0.24rem 0.32rem;border-bottom:1px solid #f5f6f8;cursor:pointer;}
.vui-sheet-item.on{background:var(--vui-primary-light);}
.vui-sheet-avatar{width:0.72rem;height:0.72rem;border-radius:50%;background:linear-gradient(135deg,#6b9bff,#3d6eff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.28rem;font-weight:600;flex-shrink:0;margin-right:0.24rem;}
.vui-sheet-meta{flex:1;min-width:0;}
.vui-sheet-meta .name{font-size:0.3rem;font-weight:500;}
.vui-sheet-meta .mobile{font-size:0.24rem;color:var(--vui-sub);margin-top:0.06rem;}
.vui-sheet-check{color:var(--vui-primary);font-size:0.36rem;display:none;}
.vui-sheet-item.on .vui-sheet-check{display:block;}
.vui-sheet-item.simple{padding-left:0.32rem;}
.vui-sheet-item.simple .vui-sheet-meta .name{font-size:0.3rem;}

/* 确认弹窗 */
.vui-dialog-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;opacity:0;visibility:hidden;transition:opacity .2s;display:flex;align-items:center;justify-content:center;padding:0.48rem;}
.vui-dialog-mask.show{opacity:1;visibility:visible;}
.vui-dialog{background:#fff;border-radius:16px;width:100%;max-width:6rem;padding:0.4rem 0.36rem 0.32rem;transform:scale(.92);transition:transform .2s;}
.vui-dialog-mask.show .vui-dialog{transform:scale(1);}
.vui-dialog-title{font-size:0.34rem;font-weight:600;text-align:center;margin:0 0 0.2rem;}
.vui-dialog-body{font-size:0.28rem;color:var(--vui-sub);text-align:center;line-height:1.6;margin-bottom:0.36rem;}
.vui-dialog-actions{display:flex;gap:0.24rem;}
.vui-dialog-actions button{flex:1;height:0.8rem;border-radius:999px;border:none;font-size:0.3rem;cursor:pointer;}
.vui-dialog-actions .cancel{background:#f3f5f9;color:var(--vui-sub);}
.vui-dialog-actions .ok{background:linear-gradient(135deg,#4a7dff,#3d6eff);color:#fff;}

/* Toast */
.vui-toast{position:fixed;left:50%;top:45%;transform:translate(-50%,-50%) scale(.9);background:rgba(0,0,0,.78);color:#fff;padding:0.24rem 0.4rem;border-radius:12px;font-size:0.28rem;z-index:300;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;max-width:80%;text-align:center;}
.vui-toast.show{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1);}

/* 首页 Hero / 宫格 */
.vui-hero{margin:0.32rem;padding:0.48rem 0.4rem;background:linear-gradient(135deg,#4a7dff 0%,#3d6eff 55%,#5b8cff 100%);border-radius:20px;color:#fff;box-shadow:0 8px 24px rgba(61,110,255,.28);}
.vui-hero .hi{font-size:0.26rem;opacity:.88;}
.vui-hero .name{font-size:0.44rem;font-weight:700;margin-top:0.12rem;line-height:1.35;}
.vui-hero .desc{font-size:0.24rem;opacity:.85;margin-top:0.16rem;line-height:1.5;}
.vui-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.24rem;margin:0.32rem;padding-bottom:0.24rem;}
.vui-menu-cell{background:var(--vui-card);border-radius:16px;padding:0.36rem 0.28rem;text-align:center;box-shadow:0 4px 16px rgba(15,35,80,.06);text-decoration:none;color:inherit;display:block;}
.vui-menu-cell:active{opacity:.92;}
.vui-menu-cell .ic{position:relative;width:0.88rem;height:0.88rem;margin:0 auto;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:0.44rem;background:var(--vui-primary-light);}
.vui-menu-cell .t{font-size:0.3rem;font-weight:600;margin-top:0.2rem;color:var(--vui-text);}
.vui-menu-cell .d{font-size:0.22rem;color:var(--vui-sub);margin-top:0.08rem;line-height:1.4;}
.vui-menu-cell.full{grid-column:1 / -1;display:flex;align-items:center;text-align:left;gap:0.28rem;padding:0.32rem;}
.vui-menu-cell.full .ic{margin:0;flex-shrink:0;}
.vui-menu-cell.full .txt{flex:1;min-width:0;}
.vui-menu-cell.hide{display:none;}

/* 登录 / 注册 */
.vui-auth-brand{padding:0.72rem 0.4rem 0.4rem;text-align:center;}
.vui-auth-brand .logo{width:1.2rem;height:1.2rem;margin:0 auto;border-radius:24px;background:linear-gradient(135deg,#4a7dff,#3d6eff);display:flex;align-items:center;justify-content:center;font-size:0.56rem;color:#fff;box-shadow:0 8px 20px rgba(61,110,255,.3);}
.vui-auth-brand h2{font-size:0.36rem;margin:0.28rem 0 0;color:var(--vui-text);font-weight:700;line-height:1.4;}
.vui-auth-brand p{font-size:0.24rem;color:var(--vui-sub);margin:0.12rem 0 0;}
.vui-sms-row{display:flex;gap:0.16rem;align-items:center;}
.vui-sms-row input{flex:1;min-width:0;}
.vui-sms-btn{flex-shrink:0;font-size:0.26rem;color:var(--vui-primary);padding:0.16rem 0.24rem;background:var(--vui-primary-light);border:none;border-radius:999px;cursor:pointer;white-space:nowrap;font-family:inherit;}
.vui-sms-btn:disabled{color:var(--vui-sub);background:#f0f1f5;}
.vui-links{text-align:center;padding:0.24rem 0.32rem 0.48rem;font-size:0.28rem;}
.vui-links a{color:var(--vui-primary);text-decoration:none;margin:0 0.2rem;}
.vui-agree{display:flex;align-items:flex-start;gap:0.16rem;padding:0.08rem 0.32rem 0;font-size:0.26rem;color:var(--vui-sub);line-height:1.5;}
.vui-agree input{margin-top:0.06rem;}
.vui-agree a{color:var(--vui-primary);}
.vui-wx-btn{display:flex;align-items:center;justify-content:center;width:calc(100% - 0.64rem);margin:0.2rem 0.32rem;height:0.88rem;border:1px solid var(--vui-ok);color:var(--vui-ok);background:#fff;border-radius:999px;font-size:0.3rem;cursor:pointer;font-family:inherit;}
.vui-section-title{font-size:0.28rem;font-weight:600;color:var(--vui-text);padding:0.28rem 0.32rem 0.12rem;}
.vui-bar-links{display:flex;justify-content:center;gap:0.32rem;padding:0.24rem 0.32rem 0.48rem;}
.vui-bar-links a{font-size:0.28rem;color:var(--vui-primary);text-decoration:none;}
.vui-logout-fixed{position:fixed;right:0.32rem;bottom:0.36rem;z-index:9;padding:0.18rem 0.36rem;background:var(--vui-danger);color:#fff;font-size:0.26rem;border-radius:999px;text-decoration:none;box-shadow:0 6px 16px rgba(234,80,80,.35);}
/* 首页退出：与菜单卡片同系，弱化描边胶囊的突兀感 */
.vui-logout-row{
  display:flex;align-items:center;justify-content:center;gap:0.16rem;
  width:calc(100% - 0.64rem);margin:0.08rem 0.32rem 0.64rem;padding:0.36rem 0.32rem;
  background:var(--vui-card);border:none;border-radius:16px;
  box-shadow:0 4px 16px rgba(15,35,80,.06);
  color:var(--vui-danger);font-size:0.3rem;font-weight:600;font-family:inherit;
  cursor:pointer;-webkit-appearance:none;appearance:none;
}
.vui-logout-row .ic{
  width:0.72rem;height:0.72rem;border-radius:14px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(234,80,80,.1);font-size:0.34rem;line-height:1;
}
.vui-logout-row .txt{line-height:1;}
.vui-logout-row:active{opacity:.92;}

.vui-msg-unread{border-left:4px solid var(--vui-primary);}
.vui-msg-dot{width:0.14rem;height:0.14rem;border-radius:50%;background:var(--vui-danger);flex-shrink:0;margin-left:0.12rem;}
.vui-msg-badge{position:absolute;top:-0.06rem;right:-0.1rem;min-width:0.32rem;height:0.32rem;padding:0 0.08rem;box-sizing:border-box;border-radius:999px;background:var(--vui-danger);color:#fff;font-size:0.2rem;line-height:0.32rem;text-align:center;font-weight:600;display:none;}
.vui-msg-badge.is-show{display:inline-block;}
/* 消息中心：顶栏清空 + 行内删除 */
.vui-top .vui-msg-clear{
  flex:0 0 auto;min-width:0.72rem;border:none;background:transparent;
  color:#fff;font-size:0.28rem;padding:0 0.04rem;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.vui-msg-item .vui-item-main{padding-right:0;}
.vui-msg-del{
  flex-shrink:0;align-self:center;border:1px solid #ffccc7;background:#fff;
  color:#cf1322;font-size:0.24rem;line-height:1;padding:0.12rem 0.2rem;
  border-radius:999px;cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.vui-msg-del:active{background:#fff1f0;}
.vui-search-bar{display:flex;align-items:center;gap:0.12rem;margin:0.24rem 0.32rem;}
.vui-search-bar input{flex:1;border:none;outline:none;background:var(--vui-card);border-radius:999px;padding:0.22rem 0.32rem;font-size:0.28rem;box-shadow:0 2px 10px rgba(15,35,80,.05);min-width:0;}
.vui-search-bar .vui-search-btn{
  flex:0 0 auto;width:0.8rem;height:0.8rem;padding:0;border:none;border-radius:50%;
  background-image:url("/static/h5/images/search.svg"),linear-gradient(135deg,#4a7dff,#3d6eff);
  background-repeat:no-repeat,no-repeat;
  background-position:center,center;
  background-size:0.4rem 0.4rem,100% 100%;
  color:transparent;font-size:0;line-height:0;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 4px 12px rgba(61,110,255,.28);-webkit-tap-highlight-color:transparent;
}
.vui-search-bar .vui-search-btn:active{opacity:.9;transform:scale(.96);}
.vui-audit-btns{display:flex;gap:0.24rem;margin:0.32rem;}
.vui-audit-btns .vui-btn{flex:1;height:0.88rem;font-size:0.3rem;}
/* 会务：会议室卡片 / 日历 / 成功页 */
.vui-room-card{cursor:pointer;}
.vui-room-cover{width:100%;height:2.4rem;object-fit:cover;border-radius:12px 12px 0 0;display:block;background:#eef2ff;}
.vui-room-cover-ph{height:2.4rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef2ff,#e8f0ff);color:#8a9bb8;font-size:0.48rem;border-radius:12px 12px 0 0;}
.vui-room-body{padding:0.2rem 0.24rem 0.24rem;}
.vui-room-tags{display:flex;flex-wrap:wrap;gap:0.1rem;margin-top:0.12rem;}
.vui-slot-pick{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff!important;color:var(--vui-primary)!important;border:1px solid var(--vui-primary);font-weight:500;}
.vui-slot-pick.on{background:var(--vui-primary)!important;color:#fff!important;border-color:var(--vui-primary)!important;box-shadow:0 2px 8px rgba(22,119,255,.28);}
.vui-cal{display:flex;flex-wrap:wrap;gap:0.1rem;padding:0.16rem 0.32rem;}
.vui-cal-day{width:calc((100% - 0.6rem)/7);text-align:center;padding:0.16rem 0;font-size:0.24rem;border-radius:8px;background:var(--vui-card);color:var(--vui-text);cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;}
.vui-cal-day.is-muted{opacity:.35;pointer-events:none;cursor:default;}
.vui-cal-day.is-busy{background:#fff3e6;color:#e6a23c;}
.vui-cal-day.on{background:var(--vui-primary);color:#fff;font-weight:600;}
.vui-pick-summary{margin:0.16rem 0.32rem 0;padding:0.2rem 0.24rem;border-radius:12px;background:#f0f5ff;color:#1677ff;font-size:0.26rem;line-height:1.5;}
.vui-pick-summary em{font-style:normal;font-weight:600;}
.vui-busy-box{width:100%;min-height:0.72rem;padding:0.16rem 0.2rem;border-radius:10px;background:#fff7e8;border:1px solid #ffe0b0;box-sizing:border-box;font-size:0.26rem;line-height:1.55;color:#8a5a00;}
.vui-busy-box .vui-busy-empty{color:#999;background:transparent;border:none;padding:0;}
.vui-busy-box .vui-busy-item{display:flex;align-items:center;gap:0.12rem;padding:0.06rem 0;}
.vui-busy-box .vui-busy-time{flex:none;font-weight:600;color:#d48806;min-width:1.8rem;}
.vui-busy-box .vui-busy-topic{flex:1;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vui-busy-box .vui-busy-tip{margin-top:0.06rem;font-size:0.22rem;color:#b8860b;}
.vui-success-box{text-align:center;padding:0.8rem 0.32rem 0.4rem;}
.vui-success-icon{font-size:1.2rem;line-height:1;margin-bottom:0.24rem;}
.vui-readonly{background:#f5f6f8;border-radius:12px;padding:0.24rem;margin:0.24rem 0.32rem;}
.vui-load-more{display:block;width:calc(100% - 0.64rem);margin:0.24rem auto 0.4rem;}
.vui-bottom-bar{position:fixed;left:0;right:0;bottom:0;padding:0.2rem 0.32rem calc(0.2rem + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -4px 16px rgba(15,35,80,.06);display:flex;gap:0.16rem;z-index:15;}
.vui-bottom-bar .vui-btn{flex:1;}
.vui-page.has-bar{padding-bottom:1.6rem;}

/* ========== PC 宽屏（html.gov-pc-page）：选择器改为桌面弹窗（mask/panel 为兄弟节点） ========== */
@media (min-width: 992px) {
  html.gov-pc-page .vui-sheet-panel {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: 560px !important;
    max-width: calc(100vw - 48px) !important;
    max-height: min(640px, 78vh) !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 48px rgba(15, 35, 80, 0.22);
    transform: translate(-50%, -48%) scale(0.96) !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s, transform 0.2s, visibility 0.2s !important;
  }

  html.gov-pc-page .vui-sheet-panel.show {
    transform: translate(-50%, -50%) scale(1) !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  html.gov-pc-page .vui-sheet-head {
    padding: 14px 18px;
  }

  html.gov-pc-page .vui-sheet-head .btn {
    font-size: 14px;
    padding: 6px 10px;
  }

  html.gov-pc-page .vui-sheet-head .title {
    font-size: 16px;
  }

  html.gov-pc-page .vui-sheet-search {
    padding: 12px 18px;
  }

  html.gov-pc-page .vui-sheet-search input {
    border-radius: 8px;
    padding: 10px 14px 10px 36px;
    font-size: 14px;
  }

  html.gov-pc-page .vui-sheet-list {
    padding: 4px 0 12px;
  }

  html.gov-pc-page .vui-sheet-item {
    padding: 10px 18px;
  }

  html.gov-pc-page .vui-sheet-avatar {
    width: 36px;
    height: 36px;
    font-size: 14px;
    margin-right: 12px;
  }

  html.gov-pc-page .vui-sheet-meta .name {
    font-size: 14px;
  }

  html.gov-pc-page .vui-sheet-meta .mobile {
    font-size: 12px;
    margin-top: 2px;
  }

  html.gov-pc-page .vui-sheet-check {
    font-size: 16px;
  }

  html.gov-pc-page .vui-dialog {
    max-width: 400px;
    border-radius: 12px;
    padding: 24px 22px 18px;
  }

  html.gov-pc-page .vui-dialog-title {
    font-size: 17px;
  }

  html.gov-pc-page .vui-dialog-body {
    font-size: 14px;
  }

  html.gov-pc-page .vui-dialog-actions button {
    height: 40px;
    font-size: 14px;
    border-radius: 8px;
  }

  html.gov-pc-page .vui-toast {
    font-size: 14px;
    padding: 12px 20px;
    border-radius: 8px;
  }
}
