/* huoma_member.css — cs.dlj2.sbs 会员端活码组件样式（v9.99 起新增样式外部化） */

/* ===== 地区面板：已选列表（限高 10 条，超出滚动） ===== */
#hmAreaList{max-height:322px;overflow-y:auto;}
.hm-area-row{display:flex;justify-content:space-between;align-items:center;padding:7px 9px;border-radius:6px;cursor:pointer;font-size:13px;color:#344054;}
.hm-area-row.on{background:#ecf5ff;font-weight:700;}
.hm-area-row.sub{padding-left:20px;}
.hm-area-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:104px;}
.hm-area-name.flex1{flex:1;min-width:0;}
.hm-area-side{display:flex;align-items:center;flex-shrink:0;margin-left:auto;padding-left:6px;}
.hm-area-cnt{font-size:11px;color:#98a2b3;}
.hm-area-cnt.hm-area-zero{color:#f79009;font-weight:700}
.hm-area-row.on .hm-area-cnt{color:#48d2e9;}
.hm-area-expbtn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:5px;color:#48d2e9;font-size:15px;line-height:1;cursor:pointer;user-select:none;border-radius:3px;transition:background .12s,color .12s;}
.hm-area-expbtn i{font-size:15px;}
.hm-area-expbtn:hover{background:#eaf6ff;color:#3ba4ec;}

/* ===== 省市级弹窗：复选框（选中绿底 #33cabb + 白色勾，半选白色横线） ===== */
input[type=checkbox].hmCk{-webkit-appearance:none;appearance:none;width:15px;height:15px;margin:0;cursor:pointer;flex:none;border:1px solid #c9cdd4;border-radius:3px;background:#fff;position:relative;transition:background .12s,border-color .12s;}
input[type=checkbox].hmCk:hover{border-color:#33cabb;}
input[type=checkbox].hmCk:checked,input[type=checkbox].hmCk:indeterminate{background:#33cabb;border-color:#33cabb;}
input[type=checkbox].hmCk:checked::after{content:'';position:absolute;left:50%;top:50%;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg);}
input[type=checkbox].hmCk:indeterminate::after{content:'';position:absolute;left:50%;top:50%;width:8px;height:0;border-top:2px solid #fff;transform:translate(-50%,-50%);}

/* ===== 省市级弹窗：行 ===== */
.hm-dlg-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:13px;color:#344054;}
.hm-dlg-row.prv{gap:7px;padding:7px 8px;}
.hm-dlg-row.on{background:#ecf5ff;color:#48d2e9;font-weight:700;}
.hm-dlg-row.hm-dlg-allrow{color:#7a5af8;background:#f8f6ff;margin-bottom:4px;}

/* ================= v9.100 内联/样式块外部化 ================= */
/* ---- 工具类（原 style 属性迁移，全局） ---- */
.hm-lb{font-weight:normal;margin-right:14px}
.hm-tac{text-align:center}
.hm-helpdot{width:18px;height:18px;line-height:16px;text-align:center;border:1px solid #c0c4cc;border-radius:50%;color:#909399;font-size:12px;font-weight:bold;cursor:help;user-select:none;transition:all .15s;display:block}
.hm-poptitle{font-weight:bold;color:#303133;font-size:14px;margin-bottom:6px;}
.hm-fwn{font-weight:normal}
.hm-mb12{margin-bottom:12px}
.hm-c-green{color:#33cabb}
.hm-c-warn{color:#e6a23c}
.hm-helpwrap{position:relative;display:inline-flex;align-items:center;margin-left:8px;vertical-align:middle}
.hm-mt8{margin-top:8px}
.hm-lb2{font-weight:normal;color:#333}
.hm-input-plain{background:#f5f6f8;border:0}
.hm-lb3{font-weight:normal;color:#333;display:block;margin-bottom:4px}
.hm-c-danger{color:#e5484d}
/* v19c10clean: .hm-c-blue 已删（全站 0 引用） */
.hm-rq{color:#f56c6c;margin-right:3px;font-size:17px;font-weight:bold;line-height:1;vertical-align:-1px}
.hm-cell-url{max-width:220px;word-break:break-all;text-align:left}
.hm-link15{color:#48d2e9;font-size:15px;text-decoration:none}
.hm-tip8{color:#999;font-size:12px;margin-top:8px;}
.hm-row12{display:flex;gap:12px;align-items:flex-start}
.hm-sidepanel{width:168px;flex-shrink:0;border:1px solid #ebeef5;border-radius:8px;background:#fff;padding:10px 8px;}
.hm-paneltitle{font-weight:700;font-size:13px;color:#101828;padding:2px 8px 8px;}
.hm-paneladd{color:#48d2e9;font-size:13px;cursor:pointer;padding:8px;display:flex;align-items:center;gap:5px;user-select:none}
.hm-flex1{flex:1;min-width:0}
.hm-warn6{color:#e6a23c;font-size:12px;margin-top:6px;}
.hm-c-red{color:#e54d42}
.hm-tip4{color:#999;font-size:12px;margin-top:4px}
.hm-minw110{min-width:110px}
.hm-w150b{width:150px;font-weight:bold;font-size:14px}
.hm-noud{text-decoration:none}
.hm-mb20{margin-bottom:20px;}
.hm-headrow{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.hm-bg-blue{background:#48d2e9}
.hm-title18{font-size:18px;font-weight:700;margin-left:10px;}
.hm-sub8{font-size:13px;color:#98a2b3;margin-top:8px;}
.hm-tac-gray{text-align:center;color:#98a2b3;}
.hm-row8{display:flex;align-items:center;gap:8px}
.hm-maxw220{max-width:220px}
.hm-link13{color:#48d2e9;font-size:13px;white-space:nowrap}
.hm-domrow{display:flex;max-width:520px;align-items:center}
.hm-dom-l{flex:11;min-width:0;border-radius:4px 0 0 4px;border-right:0}
.hm-dom-r{flex:9;min-width:0;border-radius:0 4px 4px 0;}
.hm-helpwrap2{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;margin-left:8px}
.hm-gray6{color:#909399;font-size:12px;margin-top:6px;}
.hm-link4{color:#48d2e9;margin-left:4px}
.hm-wrap6{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px;}
.hm-gray12n{color:#999;font-size:12px;font-weight:normal}
.hm-btn-blue-auto{margin-left:auto;background:#48d2e9;border:0}
.hm-pill{display:inline-block;background:#e8f4fd;color:#48d2e9;font-size:13px;padding:4px 12px;border-radius:3px;margin-bottom:8px;}
.hm-tagrow{gap:12px;width:100%;position:relative}
.hm-optcell{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.hm-vline{width:1px;height:22px;background:#dcdfe6;flex-shrink:0}
.hm-optrow{flex:1 1 0;min-width:0;display:flex;gap:8px;align-items:center}
.hm-inp32{flex:1;min-width:0;height:32px;border:1px solid #d0d5dd;border-radius:6px;padding:0 10px;font-size:13px;outline:none}
.hm-btn32{height:32px;min-width:110px;padding:0 24px;border:1px solid #ffcda6;border-radius:3px;background:#fff3ea;color:#ff6200;font-size:13px;cursor:pointer;white-space:nowrap;flex-shrink:0}
.hm-btn32:hover{border-color:#ff6200;background:#ffe9d6;color:#e05500}
.hm-noticewrap{margin-top:12px;border:1px solid #fde2cf;background:#fffaf5;border-radius:8px;padding:14px 16px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hm-fileinp{flex:1;min-width:200px}
.hm-strong14{font-weight:700;font-size:14px;color:#101828}
.hm-sub17{color:#98a2b3;font-size:12px;margin-top:4px;line-height:1.7}
.hm-defbox{width:74px;height:74px;border:1px dashed #f79009;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;color:#c0c4cc;font-size:12px;overflow:hidden;flex-shrink:0}
.hm-noshrink{flex-shrink:0}
.hm-btn34{height:34px;padding:0 18px;border:1px solid #b8d6f5;border-radius:3px;background:#ecf5ff;color:#48d2e9;font-size:13px;cursor:pointer}
.hm-dlgbox{max-width:560px;width:92%;padding:0}
.hm-dlghead{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #f0f2f5}
.hm-dlgtitle{font-weight:700;font-size:15px;color:#101828}
.hm-dlgsub{font-weight:400;font-size:12px;color:#98a2b3;margin-left:8px}
.hm-dlgx{cursor:pointer;color:#98a2b3;font-size:20px;line-height:1}
.hm-dlgmain{display:flex;min-height:280px}
.hm-dlgprovs{width:132px;border-right:1px solid #f0f2f5;overflow-y:auto;max-height:320px;padding:8px 6px}
.hm-dlgcities{flex:1;overflow-y:auto;max-height:320px;padding:10px 14px}
.hm-dlgfoot{border-top:1px solid #f0f2f5;padding:10px 18px 14px}
.hm-dlgbtns{text-align:right;display:flex;gap:10px;justify-content:flex-end}
.hm-btn-plain{height:34px;padding:0 22px;border:1px solid #d0d5dd;border-radius:3px;background:#fff;color:#344054;font-size:13px;cursor:pointer}
.hm-btn-primary{height:34px;padding:0 22px;border:1px solid #48d2e9;border-radius:3px;background:#48d2e9;color:#fff;font-size:13px;cursor:pointer}
.hm-graybox{background:#f8f9fb;border:1px solid #eee;border-radius:8px;padding:14px 16px;}
.hm-mt10{margin-top:10px}
.hm-mb6{margin-bottom:6px}
.hm-maxw80{max-width:80px}
.hm-linkbox{background:#fff;border-radius:12px;max-width:560px;margin:6vh auto;max-height:86vh;overflow:auto;box-shadow:0 12px 40px rgba(0,0,0,.2);}
.hm-linkhead{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f0f0;}
.hm-fs16{font-size:16px}
.hm-linkx{cursor:pointer;font-size:24px;color:#999;line-height:1}
.hm-linkbody{padding:18px 20px 4px;}
.hm-linklbl{margin-bottom:12px;font-size:14px;color:#333}
.hm-areabox{margin-bottom:12px;position:relative}
.hm-inp120{width:120px;background:#f5f6f8;border:0}
.hm-linkfoot{display:flex;justify-content:flex-end;gap:10px;padding:12px 0 16px;}
.hm-btn-ghost{min-width:88px;color:#48d2e9;border:1px solid #48d2e9;background:#fff}
.hm-btn-solid{min-width:88px;background:#48d2e9;border:0}
.hm-optitem-none{padding:7px 12px;font-size:13px;color:#999}
.hm-gray10c{color:#999;font-size:12px;text-align:center;margin-top:10px;}
.hm-qrbtm{border-top:1px solid #f0f2f5;margin-top:14px;padding-top:14px;text-align:center}
.hm-qrcopy{display:flex;justify-content:center;align-items:center;gap:10px;margin:0 0 12px;}
.hm-va14{vertical-align:middle;margin-left:6px;font-size:14px}
.hm-gray0{color:#999;font-size:12px;margin-top:0;text-align:left;line-height:1.7;}
.hm-qrcard-t{color:#555;font-size:14px;font-weight:bold;margin-bottom:2px;}
.hm-qrcard-d{line-height:2;color:#555;}
.hm-qrcard-w{color:#ff6a00;font-size:14px;font-weight:bold;margin-bottom:40px;}
.hm-empty-tip{color:#98a2b3;font-size:12px;padding:6px 8px;line-height:1.6}
.hm-imgfull{width:100%;height:100%;object-fit:contain}
.hm-gray12{color:#909399;font-size:12px}
.hm-badge{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;background:#f56c6c;border-radius:50%;color:#fff;font-size:12px;font-weight:bold;flex-shrink:0}
.hm-bluebox{margin-bottom:14px;padding:10px;background:#f0f5ff;border-radius:3px;color:#1a4480;font-size:13px;line-height:1.8}
.hm-errbox{background:#fef3f2;border:1px solid #fecdca;border-radius:3px;padding:12px 18px;color:#b42318;font-size:13px;margin-bottom:20px;}
.hm-errlink{color:#b42318;font-weight:700;text-decoration:underline;}
.hm-bg-orange{background:#f79009}
.hm-bg-pinkred{background:#fff7f7}
.hm-breakall{word-break:break-all}
.hm-break-mb{word-break:break-all;margin:0 0 12px;}
.hm-mt30{margin-top:30px}
.hm-helpdot:hover{border-color:#48d2e9;color:#48d2e9}
.hm-optitem{padding:7px 12px;cursor:pointer;font-size:13px;color:#333;}
.hm-optitem.on{background:#eaf6ff;font-weight:700;}

/* ---- 统计页（v17g 全局化） ---- */
.hm-tag{display:inline-block;font-size:12px;padding:2px 10px;border-radius:3px;color:#fff;}
.hm-stat{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px;}
.hm-stat-box{flex:1;min-width:150px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:18px 20px;}
.hm-stat-box .t{font-size:13px;color:#667085;margin-bottom:8px;}
.hm-stat-box .n{font-size:26px;font-weight:700;color:#101828;line-height:1.2;}
.hm-stat-box .n small{font-size:13px;color:#98a2b3;font-weight:400;margin-left:4px;}
.hm-chart{display:flex;align-items:flex-end;gap:10px;height:180px;padding:14px 4px 0;}
.hm-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;}
.hm-bar .v{font-size:12px;color:#475467;margin-bottom:4px;}
.hm-bar .b{width:100%;max-width:46px;background:linear-gradient(180deg,#5aa9f8,#48d2e9);border-radius:4px 4px 0 0;min-height:2px;}
.hm-bar .l{font-size:12px;color:#98a2b3;margin-top:8px;}
.hm-bar.we .b{background:linear-gradient(180deg,#ffd08a,#f79009);}
.hm-zero{padding:60px 0;text-align:center;color:#98a2b3;font-size:14px;}
.hm-ua{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom;color:#667085;}


/* ---- 渠道码（v17g 全局化） ---- */
.hint-block{font-size:12px;color:#888;margin-top:6px;}

/* ---- 列表（v17g 全局化） ---- */
.hm-banner{background:linear-gradient(135deg,#e8f0fe 0%,#f0f7ff 100%);border:1px solid #d2e3fc;border-radius:3px;padding:14px 20px;color:#1a4480;font-size:13px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.hm-banner-text i{margin-right:6px;color:#48d2e9;font-size:16px;vertical-align:-2px;}
.hm-banner-link{color:#48d2e9;font-weight:700;margin-left:6px;}
.hm-banner-link:hover{text-decoration:underline;}

.hm-section-title:before{content:"";display:inline-block;width:4px;height:16px;background:#48d2e9;border-radius:2px;margin-right:8px;}
.hm-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:18px 20px 18px 23px;margin-bottom:20px;transition:all .2s;}
.hm-card:hover{border-color:#a4d7fb;box-shadow:0 6px 16px rgba(72,176,247,.08);}
.hm-card-head{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:12px;}
.hm-card-icon{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}


.hm-card-info{flex:1;min-width:150px;}
.hm-card-title{font-size:15px;font-weight:700;color:#101828;margin-bottom:8px;text-align:left;}
.hm-card-count{color:#98a2b3;font-weight:normal;font-size:13px;margin-left:2px;}
.hm-card-tags{display:flex;flex-wrap:wrap;gap:6px;}
.hm-card-tags span{font-size:11px;padding:3px 9px;border-radius:3px;font-weight:700;line-height:1.4;}
.hm-card-desc{font-size:13px;color:#475467;line-height:1.7;margin-bottom:0;min-height:48px;text-align:left;padding-left:64px;}
.hm-card{position:relative;}.hm-card-btn{display:block;position:absolute;top:26px;right:21px;width:150px;text-align:center;background:#48d2e9;color:#fff;padding:9px 0;border-radius:5px;font-size:14px;font-weight:700;transition:background .2s;}
.hm-card-btn:hover{background:#2f8fd6;color:#fff;text-decoration:none;}
.hm-type-hero{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:22px 24px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.hm-type-hero-main{display:flex;align-items:flex-start;gap:16px;flex:1;min-width:0;}
.hm-type-hero-icon{width:64px;height:64px;border-radius:14px;}
.hm-type-hero-icon svg{width:34px;height:34px;}
.hm-type-hero-title{font-size:18px;font-weight:700;color:#101828;margin-bottom:8px;text-align:left;}
.hm-type-hero-desc{font-size:13px;color:#475467;line-height:1.7;margin-top:8px;text-align:left;}
.hm-type-hero-side{display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.hm-type-stat{text-align:center;}
.hm-type-stat b{display:block;font-size:22px;font-weight:700;color:#101828;line-height:1.2;}
.hm-type-stat span{font-size:12px;color:#98a2b3;}
.hm-type-hero-btn{margin:0;flex-shrink:0;}
.hm-qr{width:64px;height:64px;border:1px solid #eee;padding:2px;background:#fff;}
.table th:first-child, .table td:first-child{padding-left:0;}
.hm-url{width:200px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;}
.hm-tag{display:inline-block;font-size:12px;padding:2px 10px;border-radius:3px;color:#fff;}
.hint-block{font-size:12px;color:#888;margin-top:6px;}
.hm-pv-intro-title{font-size:15px;font-weight:700;color:#101828;margin-bottom:10px;}
.hm-pv-intro-bar{background:#eef4ff;border:1px solid #dce7fb;border-radius:8px;padding:12px 14px;font-size:13px;color:#4b5b76;line-height:1.8;margin-bottom:20px;}
.hm-intro-ul{margin:0;padding:0;list-style:none}
.hm-intro-ul li{position:relative;padding-left:14px;margin-bottom:4px}
.hm-intro-ul li:last-child{margin-bottom:0}
.hm-intro-ul li:before{content:'';position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:#48d2e9}
.hm-pv-intro-bar i{color:#48d2e9;margin-right:6px;vertical-align:-2px;}
.hm-pv-label{font-size:18px;font-weight:700;color:#101828;margin-bottom:10px;}
.hm-pv-pagetag{text-align:center;color:#5b8dd9;font-size:14px;margin-bottom:12px;}
.hm-pv-side .card:last-child{margin-bottom:0}
.hm-phone{width:232px;height:440px;border:10px solid #1c1c1e;border-radius:38px;background:#fff;position:relative;margin:0 auto;box-shadow:0 12px 32px rgba(16,24,40,.14);}
.hm-phone:before{content:"";position:absolute;left:-14px;top:92px;width:4px;height:52px;background:#1c1c1e;border-radius:2px 0 0 2px;}
.hm-phone:after{content:"";position:absolute;right:-14px;top:84px;width:4px;height:64px;background:#1c1c1e;border-radius:0 2px 2px 0;box-shadow:0 78px 0 #1c1c1e;}
.hm-phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:104px;height:24px;background:#1c1c1e;border-radius:0 0 15px 15px;z-index:2;}
.hm-phone-notch:after{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:38px;height:6px;border-radius:4px;background:#3a3a3c;}
.hm-phone-screen{height:100%;overflow-y:auto;padding:38px 14px 16px;text-align:center;background:#fff;border-radius:28px;display:flex;flex-direction:column;}
.hm-pv-tag{display:inline-block;background:#f0f5ff;color:#48d2e9;font-size:11px;padding:3px 10px;border-radius:20px;}
.hm-pv-name{font-size:14px;font-weight:bold;color:#222;margin-top:8px;word-break:break-all;}
.hm-pv-qr{width:80%;display:block;margin:12px auto 6px;background:#fff;}
.hm-pv-tip{color:#9ca3af;font-size:12px;margin-top:4px;line-height:1.6;}
.hm-pv-adv-title{font-size:13px;font-weight:700;color:#111;margin-top:10px;}
.hm-pv-adv-desc{color:#777;font-size:11px;line-height:1.6;margin-top:4px;}
.hm-pv-adv-btn{display:inline-block;margin-top:8px;padding:5px 12px;border:1px solid #48d2e9;color:#48d2e9;font-size:11px;border-radius:14px;}
/* ===== aifabu 对齐：卡片单选 / 开关 / 折叠 ===== */
.hm-sec{display:flex;gap:16px;flex-wrap:wrap}
.hm-opt{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:56px;border:1px solid #dcdfe6;border-radius:6px;background:#fff;padding:14px 44px 14px 40px;cursor:pointer;transition:all .15s;user-select:none}
.hm-opt input{position:absolute;opacity:0;pointer-events:none}
.hm-opt .mdi{font-size:18px;color:#909399;line-height:1}
.hm-opt em{font-style:normal;font-weight:400;font-size:13px;color:#303133;line-height:1}
.hm-opt:hover{border-color:#c0c4cc}
.hm-opt.on{border-color:#48d2e9;background:#ecf5ff;box-shadow:0 1px 4px rgba(72,176,247,.18)}
.hm-opt.on .mdi, .hm-opt.on em{color:#48d2e9}
.hm-switch{position:relative;display:inline-block;width:42px;height:22px;vertical-align:middle}
.hm-switch input{opacity:0;width:0;height:0}
.hm-switch .sl{position:absolute;inset:0;background:#dcdfe6;border-radius:22px;transition:.2s;cursor:pointer}
.hm-switch .sl:before{content:'';position:absolute;width:18px;height:18px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.hm-switch input:checked + .sl{background:#48d2e9}
.hm-switch input:checked + .sl:before{transform:translateX(20px)}
.hm-fold-head{display:flex;align-items:center;cursor:pointer;user-select:none}
.hm-fold-head .mdi{color:#48d2e9;margin-right:6px;font-size:18px}
.hm-fold-head .fw{font-weight:700;color:#101828;font-size:18px}
.hm-fold-head .fx{color:#48d2e9;font-size:14px;margin-left:auto}
.hm-fold-head:hover .fx{font-weight:700}
.hm-form-head{font-size:18px;font-weight:700;color:#101828;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid #eef2f6;display:flex;align-items:center;gap:8px;}
.hm-qrtr .hm-qr-del{background:none;border:none;color:#f56c6c;cursor:pointer;font-size:14px;padding:0;width:30px;height:30px;margin-left:2px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}
.hm-qrtr .hm-qr-del:hover{color:#ff8989}
.hm-qrtr .hm-qr-edit{background:none;border:none;color:#909399;cursor:pointer;font-size:14px;padding:0;width:30px;height:30px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}
.hm-qrtr .hm-qr-edit:hover{color:#48d2e9}
.hm-qrnew-thumb{width:28px;height:28px;object-fit:contain;border:1px solid #ebeef5;border-radius:4px;background:#fff;margin-right:6px;flex-shrink:0;vertical-align:middle}
.hm-qrthumb-wrap{position:relative;display:inline-block;flex-shrink:0;line-height:0}
.hm-qrnew-thumb{width:28px;height:28px;object-fit:contain;border:1px solid #ebeef5;border-radius:4px;background:#fff;margin-right:6px;flex-shrink:0;vertical-align:middle;cursor:pointer;display:block}
.hm-qrthumb-big{position:fixed;left:-9999px;top:-9999px;width:180px;height:180px;padding:5px;background:#fff;border:1px solid #dcdfe6;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.18);display:none;z-index:99999;pointer-events:none;line-height:0}
.hm-qrthumb-wrap:hover .hm-qrthumb-big{display:block}
.hm-qrthumb-bigimg{width:100%;height:100%;object-fit:contain;display:block}
.hm-dlcell{display:inline-flex;align-items:center;gap:8px}
.hm-dlwrap{position:relative;display:inline-block}
.hm-dlbtn{padding:4px 10px;border:1px solid #b8d6f5;border-radius:4px;background:#ecf5ff;color:#48d2e9;font-size:12px;cursor:pointer;white-space:nowrap;line-height:1.5;transition:all .15s;vertical-align:middle}
.hm-dlbtn:hover{background:#d9ecff;border-color:#8cc5f0}
.hm-dlpop{display:none;position:fixed;left:0;top:0;padding-top:8px;width:230px;z-index:9999}
.hm-dlwrap:hover .hm-dlpop{display:block}
.hm-dlwrap.hm-pop-up .hm-dlpop{padding-top:0;padding-bottom:8px}
.hm-dlpop-card{background:#fff;border-radius:8px;box-shadow:0 8px 40px rgba(29,33,41,.18);padding:12px 14px 10px;text-align:center}
.hm-dlpop-title{font-size:13px;font-weight:bold;color:#1d2129;margin-bottom:8px}
.hm-dlpop-qr{width:170px;height:170px;object-fit:contain;display:block;margin:0 auto}
.hm-dlpop-cap{font-size:12px;color:#86909c;margin-top:6px}
.hm-dlpop-btns{margin-top:8px;display:flex;gap:8px}
.hm-dlpop-down{flex:1;background:#48d2e9;color:#fff;border:none;font-size:12px;padding:6px 0;border-radius:5px;cursor:pointer}
.hm-dlpop-down:hover{background:#6cc2ff}
.hm-dlpop-beauty{flex:1;background:#ecf5ff;color:#48d2e9;border:1px solid #b8d6f5;font-size:12px;padding:6px 0;border-radius:5px;cursor:pointer}
.hm-dlpop-beauty:hover{background:#d9ecff}
.hm-copybtn{margin-left:6px;padding:3px 10px;border:1px solid #b8d6f5;border-radius:4px;background:#ecf5ff;color:#48d2e9;font-size:12px;cursor:pointer;vertical-align:middle;white-space:nowrap;transition:all .15s}
.hm-copybtn:hover{background:#d9ecff;border-color:#8cc5f0}
.hm-qrnew-filecell{display:flex;align-items:center;gap:6px;min-width:0;padding:2px 0}
.hm-qrnew-filename{font-size:12px;color:#606266;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-qrnew-link{background:none;border:none;color:#48d2e9;cursor:pointer;font-size:12px;padding:0;white-space:nowrap}
.hm-qrnew-link:hover{color:#6cc2ff}
.hm-qrtr .hm-stat{color:#909399;text-align:center;font-size:12px}
.hm-note{color:#909399;font-size:13px;background:#f4f4f5;padding:10px 14px;border-radius:6px}
.hm-switch-sm{position:relative;display:inline-block;width:34px;height:18px;vertical-align:middle}
.hm-switch-sm input{opacity:0;width:0;height:0;margin:0}
.hm-switch-sm .sl{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#dcdfe6;border-radius:18px;transition:.2s}
.hm-switch-sm .sl:before{position:absolute;content:"";height:14px;width:14px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.2s}
.hm-switch-sm input:checked + .sl{background:#48d2e9}
.hm-switch-sm input:checked + .sl:before{transform:translateX(16px)}
.hm-footbar{position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;gap:14px;justify-content:flex-start;align-items:center;margin:0;padding:14px 0;background:#fff;box-shadow:0 -6px 16px rgba(16,24,40,.08);border-top:1px solid #f0f2f5}
.hm-footbar-space{height:45px}
.hm-form-head-icon{display:inline-block;width:18px;height:18px;background:linear-gradient(135deg,#07c160,#4ec587);border-radius:4px;position:relative;flex-shrink:0;}
.hm-form-head-icon:before, .hm-form-head-icon:after{content:"";position:absolute;background:rgba(255,255,255,.92);}
.hm-form-head-icon:before{left:3px;top:3px;width:5px;height:5px;border-radius:1px;}
.hm-form-head-icon:after{right:3px;bottom:3px;width:5px;height:5px;border-radius:1px;}

/* ---- entry 落地页（原 <style> 块，作用域 body.hmv-entry） ---- */
body.hmv-entry{margin:0;background:#eef1f6;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.hmv-entry .wrap{max-width:420px;margin:0 auto;padding:26px 14px}
.hmv-entry .card{background:#fff;border-radius:14px;padding:28px 16px;text-align:center}
.hmv-entry .tag{display:inline-block;background:#f0f5ff;color:#48d2e9;font-size:13px;padding:4px 12px;border-radius:20px}
.hmv-entry .qr{width:100%;max-width:300px;height:auto;display:block;margin:18px auto 6px}
.hmv-entry .tip{color:#666;font-size:14px;margin-top:10px;line-height:1.7}
.hmv-entry .name{font-size:17px;font-weight:bold;color:#222;margin-top:14px}
.hmv-entry .adv-title{font-size:18px;font-weight:700;color:#111;margin-top:16px}
.hmv-entry .adv-desc{color:#666;font-size:13px;line-height:1.7;margin-top:8px;white-space:pre-wrap}
.hmv-entry .grp-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.hmv-entry .grp-btn{display:block;background:#f0f5ff;color:#48d2e9;font-size:15px;font-weight:700;padding:12px 10px;border-radius:8px;text-decoration:none;border:1px solid #d2e3fc}
.hmv-entry .grp-btn:active{background:#e0ecff}
.hmv-entry .btn-contact{display:inline-block;margin-top:14px;padding:8px 18px;border:1px solid #48d2e9;color:#48d2e9;font-size:13px;border-radius:20px;text-decoration:none}
.hmv-entry .ft{color:#aaa;font-size:12px;text-align:center;margin-top:16px}
.hmv-entry .txt{color:#333;font-size:15px;line-height:1.8;text-align:left;word-break:break-all;margin-top:14px}
.hmv-entry .hm-sub12{font-size:12px;color:#999}
.hmv-entry .hm-wfull{max-width:100%}

/* ---- 帮助气泡弹层公共样式（v9.101；display:none 仍由内联控制，JS 三态钩子） ---- */
.hm-helppop{position:absolute;bottom:26px;left:-10px;z-index:100002;width:300px;background:#fff;border:1px solid #e4e7ed;border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.12);padding:14px 16px;font-size:12px;color:#606266;line-height:1.8;text-align:left}

/* ---- 渠道活码列表（v9.101，v17g 全局化） ---- */
.hm-chbar{height:6px;background:#f2f4f7;border-radius:3px;margin-top:7px;overflow:hidden;min-width:90px}
.hm-chbar i{display:block;height:100%;background:linear-gradient(90deg,#7a5af8,#9b8afb);border-radius:3px}
.hm-chbar i.zero{background:#d0d5dd}
td .hm-chbar{max-width:160px}

/* ---- 渠道活码表单（v9.101，v17g 全局化） ---- */
.hm-bluebox{line-height:2}

/* ---- 地区面板：悬停「···」删除（v9.103，对齐 aifabu） ---- */
.hm-area-more{display:none;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;color:#667085;font-size:15px;line-height:1;cursor:pointer;}
.hm-area-more:hover{background:#f2f4f7;color:#344054;}
.hm-area-row:hover .hm-area-cnt{display:none;}
.hm-area-row:hover .hm-area-more{display:inline-flex;}
#hmAreaDelPop{position:fixed;display:none;z-index:1200;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px rgba(16,24,40,.12);padding:4px;}
.hm-area-delbtn{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:7px 14px;border-radius:6px;font-size:13px;color:#344054;cursor:pointer;white-space:nowrap;}
.hm-area-delbtn i{font-size:15px;}
.hm-area-delbtn:hover{background:#fef3f2;color:#e5484d;}

/* v9.107 帮助气泡字体统一钉死：全 18 气泡及子元素同一黑体栈（Mac=苹方/Win=雅黑/Linux=WQY），杜绝宋体衬线回落 */
[id$="HelpPop"], [id$="HelpPop"] *, .hm-poptitle{font-family:'Microsoft YaHei',Arial,sans-serif}

/* v9.109 气泡字重/字号统一钉死：说明 12px/400（防父容器粗体继承，如 hm-strong14），标题 13px/700 —— 老板拍板 */
[id$="HelpPop"]{font-weight:400}
[id$="HelpPop"] b,[id$="HelpPop"] strong{font-weight:400}
[id$="HelpPop"] .hm-poptitle{font-size:14px;font-weight:700}

/* ===== v9.112 收尾：帮助气泡/下拉/遮罩卡片（原内联长串迁移；display:none 初始态仍为行为钩子保留在元素上） ===== */
.hm-helppop-r{left:auto;right:-6px}
.hm-dropcard{position:absolute;left:0;right:0;z-index:100;background:#fff;border:1px solid #e3e8ef;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:240px;overflow:auto;margin-top:4px}
.hm-mask{position:fixed;left:0;top:0;right:0;bottom:0;background:rgba(0,0,0,.45);z-index:9999}

/* ===== v9.113 手机端适配 ===== */
/* 表格滚动容器：超宽表格在小屏内横滚，不撑破页面（PC 不超宽无滚动条，零影响） */
.hm-twrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
/* 气泡宽度视口保护（位置微调由 JS hmPopClamp 兜底） */
.hm-helppop{max-width:calc(100vw - 32px)}
@media (max-width:767px){
  /* 内容区左右边距收窄（39px 为 PC 对齐修正值，手机改紧凑；v17h 起唯一规则在文件尾 v17g 段） */
  /* 分组/地区面板与码池表格堆叠为上下布局 */
  #hmTagWrap,#hmAreaWrap{flex-direction:column;align-items:stretch}
  .hm-sidepanel{width:100%}
  /* 域名选择行手机全宽 */
  .hm-domrow{max-width:100%}
}

.hm-section-title{font-size:16px;font-weight:700;color:#101828;margin:24px 0 14px;padding-left:12px;display:flex;align-items:center;}
.hm-section-title:before{content:"";display:inline-block;width:4px;height:16px;background:#48d2e9;border-radius:2px;margin-right:8px;}
.hm-mt30{margin-top:30px;}
.hm-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:18px 20px 18px 23px;margin-bottom:20px;transition:all .2s;}
.hm-card:hover{border-color:#a4d7fb;box-shadow:0 6px 16px rgba(72,176,247,.08);}
.hm-card-head{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:12px;}
.hm-card-icon{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hm-card-icon svg{width:28px;height:28px;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.18));}
.hm-card-info{flex:1;min-width:150px;}
.hm-card-title{font-size:15px;font-weight:700;color:#101828;margin-bottom:8px;text-align:left;}
.hm-card-count{color:#98a2b3;font-weight:normal;font-size:13px;margin-left:2px;}
.hm-card-tags{display:flex;flex-wrap:wrap;gap:6px;}
.hm-card-tags span{font-size:11px;padding:3px 9px;border-radius:3px;font-weight:700;line-height:1.4;}
.hm-card-desc{font-size:13px;color:#475467;line-height:1.7;margin-bottom:0;min-height:48px;text-align:left;padding-left:64px;}
.hm-card{position:relative;}.hm-card-btn{display:block;position:absolute;top:26px;right:21px;width:150px;text-align:center;background:#48d2e9;color:#fff;padding:9px 0;border-radius:5px;font-size:14px;font-weight:700;transition:background .2s;}
.hm-card-btn:hover{background:#2f8fd6;color:#fff;text-decoration:none;}
.hm-type-hero{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:22px 24px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.hm-type-hero-main{display:flex;align-items:flex-start;gap:16px;flex:1;min-width:0;}
.hm-type-hero-icon{width:64px;height:64px;border-radius:14px;}
.hm-type-hero-icon svg{width:34px;height:34px;}
.hm-type-hero-title{font-size:18px;font-weight:700;color:#101828;margin-bottom:8px;text-align:left;}
.hm-type-hero-desc{font-size:13px;color:#475467;line-height:1.7;margin-top:8px;text-align:left;}
.hm-type-hero-side{display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.hm-type-hero-btn{margin:0;flex-shrink:0;}

/* v16m：活码首页数据统计栏（与卡片系统 cst 同款） */
.cst-row{margin:14px 0 20px;display:flex;gap:14px;flex-wrap:wrap;}
.cst-box{flex:1;min-width:150px;background:#fff;border:1px solid #eceff3;border-radius:10px;padding:14px 16px;}
.cst-num{font-size:24px;font-weight:700;color:#333;line-height:1.2;}
.cst-lab{font-size:12px;color:#999;margin-top:2px;}
/* v16o：两页边距/卡片尺寸统一（hm-mt30 两作用域同值；.hm-card padding 对齐 23px 左内边距） */
.hm-mt30{margin-top:30px;}

/* v16p：两页切换体验——滚动条槽位常驻（防一页有一页无导致内容区左右跳 15px）+ 内容区淡入（缓解整页 reload 闪烁感） */
html{scrollbar-gutter:stable;}

/* v16x：横幅功能入口（三系统统一；.hmv-*/作用域渐变版特异性更高不受影响） */
.hm-banner{background:linear-gradient(135deg,#e8f0fe 0%,#f0f7ff 100%);border:1px solid #d2e3fc;border-radius:3px;padding:14px 20px;color:#1a4480;font-size:13px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.hm-banner-ops{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.hm-banner-cap{font-weight:700;color:#333;font-size:14px;display:inline-flex;align-items:center;margin-right:2px;white-space:nowrap;}
.hm-banner-cap i{color:#48d2e9;font-size:18px;margin-right:3px;}
.hm-banner .hm-banner-text{flex:1 1 auto;margin:0 8px;}
.hm-banner .hm-banner-link{white-space:nowrap;}


/* v17d：统计栏/标题全局版（供不在 作用域内的页面使用，如生成短链卡片页；值与 版一致） */
.cst-row{margin:14px 0 20px;display:flex;gap:14px;flex-wrap:wrap;}
.cst-box{flex:1;min-width:150px;background:#fff;border:1px solid #eceff3;border-radius:10px;padding:14px 16px;}
.cst-num{font-size:24px;font-weight:700;color:#333;line-height:1.2;}
.cst-lab{font-size:12px;color:#999;margin-top:2px;}
.hm-mt30{margin-top:30px;}

/* ===== v17g 全站统一容器：所有功能页/编辑页/新生页同一套边距与栅格（替代 hmv-stat/hmv-channel/hmv-list/hm-cards 各作用域容器规则，hmv-form 死段已删） ===== */
/* v17r：右缘与左缘对称统一（容器 padding-right 39→24：内容区右缘有框架常驻15px占位，旧值下末列内容右视觉边距=24+15=39px 大于左侧24px；改24后所有页面右视觉边距=24px 与左缘一致；v17q 首末列清零规则保留不动） */
.lyear-layout-content .container-fluid{padding-left:39px;padding-right:39px;padding-bottom:40;display:flex;flex-direction:column;min-height:calc(100vh - 68px);}
/* 链只作用于 col-12 外壳行；row 本体保持 bootstrap 标准栅格（两栏 col-lg-6 不受影响） */
.lyear-layout-content .container-fluid>.row{flex:1;}
.lyear-layout-content .container-fluid>.row>.col-12{flex:1;display:flex;flex-direction:column;}
.lyear-layout-content .container-fluid>.row>.col-12>.card:last-child{flex:1;margin-bottom:0;display:flex;flex-direction:column;}
.lyear-layout-content .container-fluid>.row>.col-12>.card:last-child>.card-body{flex:1;}
@media (max-width:767px){.lyear-layout-content .container-fluid{padding-left:12px;padding-right:12px;}}
/* v17g：跳转类型选择卡（原 urls/creat 页内联，全局化一套） */
.hm-ucards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:6px 0 14px;}
.hm-ucard{position:relative;background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;padding:14px 12px;cursor:pointer;transition:all .2s;user-select:none;}
.hm-ucard:hover{border-color:#b9d9f5;box-shadow:0 4px 10px -4px rgba(72,176,247,.35);}
.hm-ucard.on{border-color:#48d2e9;background:#f4faff;box-shadow:0 4px 10px -4px rgba(72,176,247,.4);}
.hm-ucard-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;}
.hm-ucard-icon svg{width:20px;height:20px;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.18));}
.hm-ucard-name{font-size:14px;font-weight:700;color:#101828;margin-bottom:4px;}
.hm-ucard-desc{font-size:12px;color:#667085;line-height:1.6;min-height:38px;margin-top:10px;}
.hm-ucard-hd{display:flex;align-items:center;gap:10px;}
.hm-ucard-hd .hm-ucard-icon{margin-bottom:0;}
.hm-ucard-hd .hm-ucard-name{margin-bottom:0;flex:1;min-width:0;}
.hm-utick{display:none;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#48d2e9;color:#fff;font-size:15px;font-weight:bold;box-shadow:0 2px 5px rgba(72,176,247,.5);flex-shrink:0;}
.hm-ucard.on .hm-utick{display:inline-flex;}
@media (max-width:991px){.hm-ucards{grid-template-columns:repeat(2,1fr);}}
/* v17g：统计栏表格细节（原 creat/cards 页内联，全局化一套） */
.cst-tb th,.cst-tb td{white-space:nowrap;}
.cst-tb td,.cst-tb th{vertical-align:middle;}
.cst-tb th{font-size:12px;color:#999;font-weight:700;background:#f8fafc;}
.cst-tb td{font-size:13px;color:#333;}

/* v17p：活码二维码上传表格样式族（v17g 误删段，自 .bak_v16s_20260912 原样恢复；作用域 .hmv-form 仅新生/编辑页命中） */
/* ========== 活码二维码上传（新表格样式，参考站 aifabu） ========== */
.hmv-form .hm-qrnew-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.hmv-form .hm-qrnew-head .qrnew-title{font-weight:700;color:#101828;font-size:15px;margin:0}
.hmv-form .hm-qrnew-head .qrnew-title .rq{color:#f56c6c;margin-right:2px;font-size:17px;vertical-align:-1px}
.hmv-form .hm-qrquota{display:inline-block;color:#667085;font-size:12px;background:#edf4fe;border-radius:6px;padding:3px 10px;line-height:1.6;flex:1;min-width:260px}
.hmv-form .hm-tag-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:6px;font-size:13px;color:#475467;cursor:pointer;user-select:none}
.hmv-form .hm-tag-item:hover{background:#f5f8fd}
.hmv-form .hm-tag-item.on{background:#e8f0fe;color:#48d2e9;font-weight:700}
.hmv-form .hm-tag-item .ct{color:#98a2b3;font-size:12px;font-weight:400}
.hmv-form .hm-tag-item.on .ct{color:#48d2e9}
.hmv-form .hm-qractions{display:flex;align-items:center;gap:14px;font-size:13px;white-space:nowrap;margin-left:auto}
.hmv-form .hm-qractions a{color:#48d2e9;cursor:pointer}
.hmv-form .hm-qractions a:hover{color:#6cc2ff}
.hmv-form .hm-qractions a.danger{color:#f56c6c}
.hmv-form .hm-qractions a.danger:hover{color:#ff8989}
.hmv-form .hm-qrtable{width:100%;border-collapse:collapse;background:#fff;border:1px solid #ebeef5;border-radius:6px;font-size:12px;color:#303133;table-layout:auto}
.hmv-form .hm-qrtable thead th{background:#f5f7fa;color:#606266;font-weight:700;text-align:center;padding:8px 6px;border-bottom:1px solid #ebeef5;white-space:nowrap;vertical-align:middle}
.hmv-form .hm-qrtable tbody td{padding:4px 4px;border-bottom:1px solid #f2f2f5;vertical-align:middle;word-break:break-all;text-align:center}
.hmv-form .hm-qrtable tbody tr:last-child td{border-bottom:none}
.hmv-form .hm-qrtable tbody tr{position:relative;z-index:1}
.hmv-form .hm-qrtable tbody tr:hover{background:#fafbfc;z-index:2}
.hmv-form .hm-qrtable .hm-stat{color:#909399;text-align:center;font-size:12px}
.hmv-form .hm-qrtable .qrnew-chk{margin:0;cursor:pointer}
.hmv-form .hm-qrnew-input, .hmv-form .hm-qrnew-input-num, .hmv-form .hm-qrnew-input-date{width:100%;height:28px;border:1px solid #dcdfe6;border-radius:4px;padding:0 6px;background:#fff;color:#303133;font-size:12px;box-sizing:border-box;font-family:inherit}
.hmv-form .hm-qrnew-input-num{text-align:center}
.hmv-form .hm-qrnew-input-date{padding:0 4px;min-width:118px}
.hmv-form .hm-qrnew-input:focus, .hmv-form .hm-qrnew-input-num:focus, .hmv-form .hm-qrnew-input-date:focus{border-color:#48d2e9;outline:none;box-shadow:0 0 0 2px rgba(72,176,247,.12)}
/* v19e59: 二维码表格水平居中——文本/日期输入框文字、二维码单元格（flex）内容 */
.hmv-form .hm-qrnew-input,.hmv-form .hm-qrnew-input-date{text-align:center}
.hmv-form .hm-qrnew-input-date::-webkit-datetime-edit{display:flex;justify-content:center}
.hmv-form .hm-qrtable .hm-qrnew-filecell{justify-content:center}
.hmv-form .hm-th-help{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:4px;border-radius:50%;background:#c0c4cc;color:#fff;font-size:11px;font-style:normal;cursor:help;vertical-align:middle}
.hmv-form .hm-th-help:hover{background:#48d2e9}
.hmv-form .hm-th-help .hm-th-tip{position:fixed;left:-9999px;top:-9999px;width:190px;box-sizing:border-box;background:#fff;color:#606266;font-size:12px;font-weight:400;line-height:1.8;padding:8px 10px;border-radius:8px;text-align:left;display:none;z-index:100002;pointer-events:none;box-shadow:0 6px 24px rgba(0,0,0,.12);white-space:normal;border:1px solid #e4e7ed}
.hmv-form .hm-th-help:hover .hm-th-tip{display:block}
.hmv-form .hm-qrtable thead th .hm-th-help{position:relative;overflow:visible}
.hmv-form .hm-qrmodal{position:fixed;inset:0;z-index:99999}
.hmv-form .hm-qrmodal-mask{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.hmv-form .hm-qrmodal-box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:440px;max-width:92vw;max-height:88vh;overflow:auto;background:#fff;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.22)}
.hmv-form .hm-qrmodal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f1f5;font-size:15px;font-weight:700;color:#1d2129}
.hmv-form .hm-qrmodal-x{background:none;border:none;font-size:22px;line-height:1;color:#909399;cursor:pointer;padding:0 2px}
.hmv-form .hm-qrmodal-x:hover{color:#606266}
.hmv-form .hm-qrmodal-body{padding:18px 20px 6px}
.hmv-form .hm-qrmodal-label{font-size:13px;color:#4e5969;margin:0 0 8px;font-weight:700}
.hmv-form .hm-qrmodal-qrrow{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}
.hmv-form .hm-qrmodal-thumb{width:96px;height:96px;object-fit:contain;border:1px solid #ebeef5;border-radius:6px;background:#fff;flex-shrink:0}
.hmv-form .hm-qrmodal-qrbtns{display:flex;flex-direction:column;gap:8px}
.hmv-form .hm-qrmodal-btn{background:#f2f3f5;border:none;border-radius:6px;color:#4e5969;font-size:12px;padding:6px 12px;cursor:pointer}
.hmv-form .hm-qrmodal-btn:hover{background:#e8eaee}
.hmv-form .hm-qrmodal-name{font-size:13px;color:#1d2129;margin-bottom:4px;word-break:break-all}
.hmv-form .hm-qrmodal-tip{font-size:12px;color:#98a2b3}
.hmv-form .hm-qrmodal-input{width:100%;height:34px;border:1px solid #dcdfe6;border-radius:6px;padding:0 10px;font-size:13px;color:#303133;box-sizing:border-box;margin-bottom:16px;font-family:inherit;background:#fff}
.hmv-form .hm-qrmodal-input:focus{border-color:#48d2e9;outline:none;box-shadow:0 0 0 2px rgba(72,176,247,.12)}
.hmv-form .hm-qrmodal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #f0f1f5}
.hmv-form .hm-qrmodal-cancel{background:#f2f3f5;border:none;border-radius:6px;color:#4e5969;font-size:13px;padding:8px 20px;cursor:pointer}
.hmv-form .hm-qrmodal-cancel:hover{background:#e8eaee}
.hmv-form .hm-qrmodal-ok{background:#48d2e9;border:none;border-radius:6px;color:#fff;font-size:13px;padding:8px 20px;cursor:pointer}
.hmv-form .hm-qrmodal-ok:hover{background:#337ecc}
.hmv-form .hm-qrempty{margin-top:8px;border:1px dashed #c0c4cc;border-radius:6px;background:#fafbfc;display:flex;flex-direction:row;align-items:center;justify-content:center;padding:8px 16px;gap:8px;cursor:pointer;transition:all .15s;color:#606266;min-height:42px}
.hmv-form .hm-qrempty:hover{border-color:#ff6200;background:#fff3ea;color:#ff6200}
.hmv-form .hm-qrempty-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid #ff6200;color:#ff6200;font-size:16px;line-height:1;font-weight:300;flex-shrink:0}
.hmv-form .hm-qrempty:hover .hm-qrempty-icon{background:#ff6200;color:#fff;border-color:#ff6200}
.hmv-form .hm-qrempty-text{font-size:14px;font-weight:700;color:#ff6200}
.hmv-form .hm-qrempty-count{font-size:12px;color:#909399}

/* v17q：导航栏↔内容视觉间距全站统一 24px（对齐功能卡片页横幅基准；首列去左pad、末列去右pad，抵消 row 负边距，两栏间 30px gutter 保留） */
.lyear-layout-content .container-fluid>.row>[class*="col-"]:first-child{padding-left:0;}
.lyear-layout-content .container-fluid>.row>[class*="col-"]:last-child{padding-right:0;}

/* v17s：垂直堆叠页（statistics 等同一 row 内多个 100% 宽列）上下栏对齐——col-12 族必然独占一行，左右 pad 全清零，上下两栏左右缘完全对齐（两栏页 col-lg-8/4 与嵌套 row 内列不命中不受影响） */
.lyear-layout-content .container-fluid>.row>[class*="col-"][class*="-12"]{padding-left:0;padding-right:0;}

/* v17u: statistics 头部单行化——标题加粗、统计四项并入标题行（查看全部右侧）不换行；列表表格包 card-body 层对齐正常页（表格线右缩 24px 留白） */
.lyear-layout-content .hm-twrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.lyear-layout-content .card>.card-header.hm-stst-hd{display:block;white-space:nowrap;overflow-x:auto;}
.lyear-layout-content .card>.card-header.hm-stst-hd h4{display:inline-block;font-weight:700;margin:0 18px 0 0;vertical-align:middle;}
.lyear-layout-content .card>.card-header.hm-stst-hd .hm-stst-item{display:inline-block;white-space:nowrap;margin:0 18px 0 0;vertical-align:middle;}

/* v17w：统计徽章美化（label 灰+数字加粗+浅底胶囊，间距加大），三系统统计页统一 */
.lyear-layout-content .card>.card-header.hm-stst-hd .hm-stst-item{padding:4px 14px;margin:0 14px 0 0;background:#f2f6fc;border-radius:4px;font-size:13px;}
.lyear-layout-content .card>.card-header.hm-stst-hd .hm-stst-item em{font-style:normal;color:#8a94a6;margin-right:8px;}
.lyear-layout-content .card>.card-header.hm-stst-hd .hm-stst-item b{font-weight:700;color:#263238;}
/* v17z: card-header h4 bold + banner text key fields */
.lyear-layout-content .card>.card-header h4{font-size:18px;font-weight:700;}
.hm-banner-text b{font-weight:400;color:#1e88e5;background:#e8f4fd;padding:1px 5px;border-radius:3px;margin:0 1px;}

/* v9.137 三系统主色调作用域：短链默认#48d2e9 / 活码.sys-huoma#33cabb / 卡片.sys-card#7a5af8（仅按钮/描边/投影，图标渐变不受影响） */
body.sys-huoma .btn-primary{background:#33cabb;border-color:#33cabb;}
body.sys-huoma .btn-primary:hover,body.sys-huoma .btn-primary:focus,body.sys-huoma .btn-primary:active,body.sys-huoma .btn-primary.active{background:#2baa9d;border-color:#2baa9d;}
body.sys-huoma .btn-primary:focus,body.sys-huoma .btn-primary.focus{box-shadow:0 0 0 3px rgba(51,202,187,.22);}
body.sys-huoma .hm-card-btn{background:#33cabb;}
body.sys-huoma .hm-card-btn:hover{background:#2baa9d;}
body.sys-card .btn-primary{background:#7a5af8;border-color:#7a5af8;}
body.sys-card .btn-primary:hover,body.sys-card .btn-primary:focus,body.sys-card .btn-primary:active,body.sys-card .btn-primary.active{background:#6a48f0;border-color:#6a48f0;}
body.sys-card .btn-primary:focus,body.sys-card .btn-primary.focus{box-shadow:0 0 0 3px rgba(122,90,248,.25);}
body.sys-card .hm-card-btn{background:#7a5af8;}
body.sys-card .hm-card-btn:hover{background:#6a48f0;}
body.sys-short .btn-primary{background:#48d2e9;border-color:#48d2e9;}
body.sys-short .btn-primary:hover,body.sys-short .btn-primary:focus,body.sys-short .btn-primary:active,body.sys-short .btn-primary.active{background:#2f8fd6;border-color:#2f8fd6;}
body.sys-short .btn-primary:focus,body.sys-short .btn-primary.focus{box-shadow:0 0 0 3px rgba(72,176,247,.25);}

/* v18h 域名选择提示行图标(按系统主色) */
.hm-domtip i{font-size:15px;vertical-align:-2px;margin-right:2px;color:#48d2e9;}
body.sys-card .hm-domtip i{color:#7a5af8;}

/* v18j 短链生成页纵向呼吸感 */
body.sys-short .hm-ucards{margin:12px 0 18px;}
.hm-domtip{margin:10px 0 16px;}

/* ===== v18q 卡片生成/编辑两栏断点修复：BS3 col-lg 断点 1200，<1200 时列在 flex 行内按内容收缩换行→预览列被挤到表单下方；统一 992 断点（<992 整列堆叠，≥992 双栏 50/50） ===== */
.lyear-layout-content .eq-row>.col-lg-6{flex:0 0 auto;width:100%;max-width:100%;}
@media (min-width:992px){.lyear-layout-content .eq-row>.col-lg-6{flex:0 0 50%;width:50%;max-width:50%;}}
/* ===== v18r 标题前标（三系统图标+色系） ===== */
.card-header h4::before{font-family:"Material Design Icons";font-size:18px;line-height:1;vertical-align:-3px;margin-right:8px;}
body.sys-short .card-header h4::before{content:"\F339";color:#48d2e9;}
body.sys-huoma .card-header h4::before,body.hmv-form .card-header h4::before{content:"\F432";color:#33cabb;}
body.sys-card .card-header h4::before{content:"\F638";color:#7a5af8;}
/* v18r 封面占位统一站标（noimg 态显示 logo） */
.pic-thumb.noimg{background:#f2f2f2 url(/media/logo-1.webp) center/70% no-repeat;}

/* ===== v18s 资金管理页（账号充值+订单管理集合页）前标：货币图标+短链蓝 ===== */
body.sys-fund .card-header h4::before{content:"\F7B9";color:#48d2e9;}


/* ==== v19d3 member 内联样式外置汇总（按来源分区） ==== */

/* ==== from member/nav.php ==== */
/* v9.113 手机端顶栏：会员/余额信息块在内容区已有卡片承载，小屏隐藏避免横向溢出 */
    @media (max-width:767px){ .topbar-right .tb-vip-li{display:none;} }
      /* v18s3g 字重全导航统一 600（ 压制框架选中态加粗），高亮只变绿不变粗 */
      .lyear-layout-sidebar .sidebar-main .nav-drawer li a{font-weight:700}
      /* v15r 一级菜单选中项绿色高亮 */
      .lyear-layout-sidebar .nav-drawer > li.nav-item.active > a{color:#33cabb}

/* v19e11 字号回原基线（老板 100% 缩放复核，今日放大全部回退）；单点出口结构保留——列表页/后台字号如需调整只在此处定义 */

/* ===== v19e14 表单区块标题 18px 定版（cf-sec=卡片折叠标题；hm-topli=顶栏li内联外置；两端共载单点生效） ===== */
.cf-sec{font-size:18px;font-weight:700;}
.hm-topli.hm-topli{display:inline-block;vertical-align:middle;margin-left:8px;}

/* ===== v19e15 有效期自定义时间选择器：flatpickr 弹出于自定义按钮右侧（hm_form 双后台共用） ===== */
#f_expire{display:flex;flex-wrap:wrap;align-items:center;gap:10px;position:relative}
#f_expire>label,#f_expire .hm-warn6{width:100%}
#f_expire #exp_inp{width:280px;max-width:100%}

/* v19e83z113: 生成结果改正中提示浮层（z33 定版：fixed 正中+3px+2s 自动消失+点击可消），原 genmask 遮罩死规则已删；z113b 配色：错误=淡橙底橙边、成功=淡绿底绿边（老板定） */
.hm-toast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:99999;font-size:14px;line-height:1.5;padding:12px 22px;border-radius:3px;box-shadow:0 8px 24px rgba(0,0,0,.12);display:none;max-width:80vw;text-align:center;}
.hm-toast-err{background:#fff7ed;border:1px solid #ff6200;color:#d95c00;}
.hm-toast-ok{background:#f0fbf4;border:1px solid #07c160;color:#059048;}
.hm-toast.on{display:block;}
@keyframes hmPvHi{0%{box-shadow:0 0 0 0 rgba(72,176,247,.38)}70%{box-shadow:0 0 0 16px rgba(72,176,247,0)}100%{box-shadow:0 0 0 0 rgba(72,176,247,0)}}
.card.hm-pv-hi{border-color:#48d2e9;animation:hmPvHi 1.5s ease-out 2}

/* v19e40: 「我的xx」徽章统一 #ff6200 三态（短链/活码/卡片全部） */
a.btn.hm-mine{background:#ff6200;border-color:#ff6200;color:#fff;}
a.btn.hm-mine:hover{background:#ff7d2e;border-color:#ff7d2e;color:#fff;}
a.btn.hm-mine:focus,a.btn.hm-mine:active,a.btn.hm-mine.active{background:#e05400;border-color:#e05400;color:#fff;}
a.btn.hm-mine.hm-mine-hm{background:#ff6200;border-color:#ff6200;color:#fff;}
a.btn.hm-mine.hm-mine-hm:hover{background:#ff7d2e;border-color:#ff7d2e;color:#fff;}
a.btn.hm-mine.hm-mine-hm:focus,a.btn.hm-mine.hm-mine-hm:active,a.btn.hm-mine.hm-mine-hm.active{background:#e05400;border-color:#e05400;color:#fff;}
a.btn.hm-mine.hm-mine-cd{background:#ff6200;border-color:#ff6200;color:#fff;}
a.btn.hm-mine.hm-mine-cd:hover{background:#ff7d2e;border-color:#ff7d2e;color:#fff;}
a.btn.hm-mine.hm-mine-cd:focus,a.btn.hm-mine.hm-mine-cd:active,a.btn.hm-mine.hm-mine-cd.active{background:#e05400;border-color:#e05400;color:#fff;}
/* v19e40: 三系统列表页统一组件（自 m_myurl.css 升级共享）：分组 chips 同栏 + 默认预览卡 */
.card-header h4.pull-left{margin:0;line-height:30px;}
.hm-urlsorts{display:inline-block;margin-left:12px;vertical-align:middle;}
.hm-urlsorts .btn{margin:2px 8px 2px 0;font-size:12px;padding:2px 10px;line-height:1.5;}
.hm-pv-empty{text-align:center;}
.hm-pvq{position:relative;width:200px;height:200px;opacity:.38;margin:0 auto 14px;}
.hm-pvq-img{width:200px;height:200px;display:block;}
.hm-pvq-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;object-fit:cover;border-radius:8px;background:#fff;padding:3px;box-sizing:border-box;}
.hm-pv-line{max-width:430px;margin:0 auto 12px;}
.hm-pv-line:last-child{margin-bottom:0;}


/* v19e35: 统计栏首列恢复左 padding，修正负 margin 突出容器，与功能入口栏/功能卡区对齐 */
.lyear-layout-content .container-fluid>.row.hm-statrow>[class*="col-"]:first-child{padding-left:15px;}

/* ===== v19e42: 列表页统计条彩盒版（v19e43 单行+压高 / v19e44 圆角3px+前标间距+数值右对齐） + 活码功能视图左栏放宽 ===== */
/* 统计盒彩盒版（仅 stats_bar.php 使用；creat 等页旧 cst-box 结构不受影响）：teal/red/green/purple 四色盒+白色圆环前标 */
/* ===== v19e43: 统计盒单行化（前标/label/数值一行）+ 盒高压缩 ===== */
.cst-rowc{margin:14px 0 20px;display:flex;gap:15px;flex-wrap:wrap;}
.cst-boxc{flex:1;min-width:200px;display:flex;align-items:center;padding:9px 30px;border-radius:3px;border:0;color:#fff;}
.cst-bico{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.18);margin-right:16px;text-align:center;}
.cst-bico:before{font-family:"Material Design Icons";font-size:16px;line-height:32px;}
.cst-bmain{min-width:0;flex:1;display:flex;align-items:center;gap:8px;white-space:nowrap;}
.cst-boxc .cst-lab{font-size:13px;color:rgba(255,255,255,.92);line-height:20px;margin:0;}
.cst-boxc .cst-num{font-size:17px;font-weight:700;color:#fff;line-height:20px;margin-left:auto;}
.cst-unit{font-size:12px;font-weight:400;margin-left:3px;color:rgba(255,255,255,.92);}
.cst-c-teal{background:#33cabb;}
.cst-c-red{background:#f56c6c;}
.cst-c-green{background:#07c160;}
.cst-c-purple{background:#7a5af8;}
.cst-c-teal .cst-bico:before{content:"\F339";}
.cst-c-red .cst-bico:before{content:"\F415";}
.cst-c-green .cst-bico:before{content:"\F208";}
.cst-c-purple .cst-bico:before{content:"\F535";}
/* v19e46: 「数据统计」标题与徽章间距收紧（仅标题后跟随的统计条生效，列表页顶部统计条不受影响）+ 功能页徽章加高（$st_big） */
.hm-section-title+.cst-rowc{margin-top:0;}
.cst-rowc.cst-big>.cst-boxc{padding-top:18px;padding-bottom:18px;}
/* 活码功能视图（huoma.php?act=func）无右栏预览，左栏放宽至 100% */
.hm-splitrow.hm-nopv>.hm-colL{flex:1 1 100%;max-width:100%;}
/* 两栏拆分容器（myurl/huoma/card_list 列表页共用）：左 60% 分组+列表，右 40% 预览图 */
.hm-splitrow{display:flex;flex-wrap:wrap;margin:0 -15px;}
.hm-splitrow>.hm-colL{flex:0 0 60%;max-width:60%;padding:0 15px;box-sizing:border-box;display:flex;flex-direction:column;}
.hm-splitrow>.hm-colR{flex:0 0 40%;max-width:40%;padding:0 15px;box-sizing:border-box;}
.hm-splitrow>.hm-colL>.card:last-child{flex:1;display:flex;flex-direction:column;margin-bottom:0;}
.hm-splitrow>.hm-colL>.card:last-child>.card-body{flex:1;}
@media (max-width:991px){.hm-splitrow>.hm-colL,.hm-splitrow>.hm-colR{flex:0 0 100%;max-width:100%;}}
/* huoma 概览页 col-12 外壳：拆分行撑满剩余高度（对齐 v17g 单卡撑满行为） */
.lyear-layout-content .container-fluid>.row>.col-12>.hm-splitrow{flex:1;}
/* v19e83z69 顶栏会员三联卡+余额卡（原内联布局迁入；色值仍在 nav.php 按项内联输出，窄屏渐进收纳旧规则沿用） */
.topbar-right .tb-vip-strip{display:flex;align-items:center;gap:10px;}
.topbar-right .tb-vip-card{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #eceef1;border-radius:5px;padding:6px 9px;}
.topbar-right .tb-vip-ico{width:22px;height:22px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;flex:none;}
.topbar-right .tb-vip-ico i{color:#fff;font-size:13px;line-height:1;}
.topbar-right .tb-vip-name{font-size:14px;font-weight:600;color:#262a2f;flex:none;white-space:nowrap;}
.topbar-right .tb-vip-meta{font-size:12px;color:#8a9099;flex:none;white-space:nowrap;}
.topbar-right .tb-vip-btn{flex:none;display:inline-block;padding:3px 12px;border-radius:5px;border:1px solid transparent;font-size:12px;font-weight:600;line-height:1.5;text-decoration:none;}
.topbar-right .tb-vip-done{background:#f2f3f5;border-color:#e5e6eb;color:#a6a9ad;cursor:default;}
.topbar-right .tb-vip-bal{flex-direction:column;gap:0;padding:4px 12px;text-align:center;}
.topbar-right .tb-vip-bal-txt{font-size:12px;color:#8a9099;white-space:nowrap;}
.topbar-right .tb-vip-bal-txt b{color:#262a2f;font-weight:700;font-size:14px;}
.topbar-right .tb-vip-recharge{margin-top:2px;padding:2px 12px;background:rgba(72,176,247,.08);border-color:rgba(72,176,247,.35);color:#2e8fdc;}

/* v19e82 顶栏窄屏渐进收纳（防 topbar-right 头像/会员卡溢出视口）：1699 收间距 → 1599 隐到期文字+缩头像 → 1399 隐卡片名称与用户名；767 以下已有整块隐藏规则 */
@media (max-width:1699px){
  .topbar-right .tb-vip-li > div{gap:6px;}
  .topbar-right .tb-vip-li > div > div{padding:6px 7px;gap:5px;}
  .topbar-right .tb-vip-li > div > div > span:nth-child(4),
  .topbar-right .tb-vip-li > div > div > a:nth-child(4){padding:3px 8px;}
}
@media (max-width:1599px){
  .topbar-right .tb-vip-li > div > div > span:nth-child(3){display:none;}
  .topbar-right .img-avatar-48{width:38px;height:38px;}
  .topbar-right .m-r-10{margin-right:6px;}
}
@media (max-width:1399px){
  .topbar-right .tb-vip-li > div > div > span:nth-child(2){display:none;}
  .topbar-right .hm-topli:first-child > a > span{display:none;}
}

/* v19e83w：一级导航右侧统一补 > ——与 nav-item-has-subnav 展开箭头同款（直链栏目/直链一级页视觉统一，无展开态不旋转） */
.nav-drawer > li.nav-item:not(.nav-item-has-subnav) > a:after{position:absolute;right:24px;font-family:'Material Design Icons';font-size:10px;line-height:1.75;content:'\f142';}

/* ===== v19e83m24 手机端整站适配（≤767；PC 与 ≥768 零影响） =====
   ①顶栏重排：第一行 ☰+返回+头像(32px)；第二行 会员三联卡+余额 横向滑动 chips。
     （旧 v9.113「≤767 整块隐藏 tb-vip-li」被 v19e14 .hm-topli.hm-topli 同特异性后置 display:inline-block 覆盖早已失效，三联卡 452px 溢出视口——本次以更高特异性重写）
     实现：topbar-right display:contents 把 li 提升为 topbar 直接项（避开中间层 wrap 塌陷）；
     不支持 contents 的老内核回退=三联卡隐藏防溢出（顶栏单行）。 */
@media (max-width:767px){
  .lyear-layout-header .navbar .topbar{height:auto;min-height:52px;flex-wrap:wrap;padding:0 10px 2px;}
  .lyear-layout-header .navbar .topbar .topbar-left{flex:1 1 auto;min-width:0;}
  .lyear-layout-header .navbar .topbar .topbar-right .img-avatar{width:32px;height:32px;margin-right:6px;}
  .lyear-layout-header .navbar .topbar .topbar-right>li>a{padding:8px 0 8px 10px;font-size:14px;}
  /* 回退：三联卡整块隐藏（修复后的 v9.113 行为） */
  .lyear-layout-header .navbar .topbar .topbar-right .tb-vip-li{display:none;}
  /* 内容区顶部补偿：顶栏单行 */
  .lyear-layout-content{padding-top:64px;}
  @supports (display:contents){
    .lyear-layout-header .navbar .topbar .topbar-right{display:contents;}
    .lyear-layout-header .navbar .topbar .topbar-right>li{display:flex;align-items:center;}
    .lyear-layout-header .navbar .topbar .topbar-right>li.hm-topli.hm-topli{display:flex;margin-left:0;}
    .lyear-layout-header .navbar .topbar .topbar-right>li.tb-vip-li.hm-topli{display:contents;}
    .lyear-layout-header .navbar .topbar .topbar-right>li.tb-vip-li>div{flex:none;width:100%;max-width:100%;min-width:0;order:3;align-self:flex-start;text-align:left;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:3px 0 8px;scrollbar-width:none;}
    .lyear-layout-header .navbar .topbar .topbar-right>li.tb-vip-li>div::-webkit-scrollbar{display:none;}
    /* 内容区顶部补偿：顶栏两行（第一行 ~52 + chips 行 ~60） */
    .lyear-layout-content{padding-top:118px;}
  }
  /* ②负边距溢出修复：container ≤767 padding 12px，但 .row/.hm-splitrow 仍 -15px 负边距 → 视口 +6px 横向溢出（col-lg-4/6、col-12、mem-profile、cst-rowc、hm-banner 全部 w396 的根因；含嵌套 row 全局放宽） */
  .lyear-layout-content .row{margin-left:0;margin-right:0;}
  .hm-splitrow{margin-left:0;margin-right:0;}
  /* ④列表页超宽表格（活码 683px 等）外层横滚，不再被裁切；新建/编辑页多列表格同理——
     BS table width:100% 会被容器压扁成每列竖字，改 width:auto 由内容撑开+容器横滚（表头竖字挤压修复） */
  .hm-splitrow>.hm-colL .card-body{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .lyear-layout-content .card-body{overflow-x:auto;}
  .lyear-layout-content .card-body table.table{width:auto;min-width:100%;}
  /* 表单页链接表（hm-twrap 内 table.table width:100% 被 366 容器压扁成竖字）——最小宽撑开横滚 */
  .lyear-layout-content .hm-twrap table.table{width:auto;min-width:680px;}
  /* ③活码/卡片功能页 hero 兜底：统计+按钮组强制整行换行，防老内核 flex 渲染差异把主标题列挤压成竖条（老板真机截图症状） */
  .hm-type-hero-side{flex:0 0 100%;}
  .hm-type-hero-main{min-width:240px;}
}

/* v19e83z32: 按钮/提示框圆角统一 3px（覆盖 bootstrap .btn 4px） */
.btn{border-radius:3px}

/* v19e83z72 移动端顶栏极简：三联卡+余额条撤出顶栏（原 2×2 占屏 1/3 且全页长驻；权益信息 index 页「我的权益」已有完整卡，开通/充值走侧边栏菜单），顶栏回归单行：汉堡+首页+头像 */
@media (max-width:767px){
  .lyear-layout-header .navbar .topbar{flex-wrap:wrap;align-items:center;padding-top:9px;padding-bottom:7px;}
  /* v19e83z70: 手机端返回钮改为「首页」直跳（JS 置换文字/行为，见 nav.php），图标隐藏、顶栏加内边距不贴顶 */
  /* v19e83z73: 顶栏单行修复——topbar-right 取消 width:100%（整行宽会把头像挤到第二行、与 ☰/首页 错位），改 auto+margin-left:auto 与左侧按钮同行右对齐 */
  .lyear-layout-header .navbar .topbar .topbar-right{display:flex;flex-wrap:nowrap;width:auto;margin-left:auto;align-items:center;}
  /* v19e83z73: 账号文本回归（v19e82 ≤1399 防溢出隐藏不适用于手机），并调到头像左侧；a 转 inline-flex 用 order 调序 */
  .lyear-layout-header .navbar .topbar .topbar-right>li.hm-topli:first-child>a{display:inline-flex;align-items:center;}
  .lyear-layout-header .navbar .topbar .topbar-right>li.hm-topli:first-child>a>span{display:inline-block;order:1;color:#262a2f;min-width:0;max-width:44vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .lyear-layout-header .navbar .topbar .topbar-right>li.hm-topli:first-child>a>img.img-avatar{order:2;margin-left:4px;margin-right:0;}
  .lyear-layout-header .navbar .topbar .topbar-right .tb-vip-li{display:none;}
  /* 压过 m24 @supports 块的 >li.tb-vip-li.hm-topli{display:contents}(0,6,1)：双倍 hm-topli 提到 (0,7,1) */
  .lyear-layout-header .navbar .topbar .topbar-right>li.tb-vip-li.hm-topli.hm-topli{display:none;}
  .lyear-layout-header .navbar .topbar .topbar-right>li.tb-vip-li.hm-topli.hm-topli>div{display:none;}
  /* 顶栏回归单行后的内容区顶部补偿（压过 m24 的 118px 两行补偿） */
  .lyear-layout-content{padding-top:64px;}
  /* 内容区按钮触位加高（分组 chips 等 24px→30px） */
  .lyear-layout-content .btn{min-height:30px;}
  /* 我的账户 卡片 2×2 紧凑（原 col-12 全宽堆叠过高） */
  .hm-statrow>[class*="col-"]{flex:0 0 50%;max-width:50%;}
  .hm-statrow .card-body{padding:12px 10px;}
  .hm-statrow .img-avatar-48{width:34px;height:34px;}
  .hm-statrow .h3{font-size:17px;}
  .hm-statrow .h6{font-size:12px;}
  /* vip 页三选项卡横排等宽（原 inline-block 窄屏逐个换行堆叠） */
  .card .vip-tabs.vip-tabs{display:flex;gap:6px;}
  .card .vip-tabs.vip-tabs .tab-btn{flex:1 1 0;margin-right:0;padding:10px 2px;font-size:14px;text-align:center;white-space:nowrap;}
  /* v19e83z71: 移动端全页模块边距统一 12px——负外距归零（m_index .mem-profile -15px 等）、区块上下距统一、标题与卡片左缘对齐 */
  .lyear-layout-content .container-fluid{padding:14px 12px 20px;}
  .lyear-layout-content .container-fluid>.mem-profile,
  .lyear-layout-content .container-fluid>.hm-section-title,
  .lyear-layout-content .container-fluid>.cst-rowc,
  .lyear-layout-content .container-fluid>.row,
  .lyear-layout-content .container-fluid>.hm-splitrow{margin-left:0;margin-right:0;}
  .lyear-layout-content .hm-section-title{margin:18px 0 12px;padding-left:0;}
  .lyear-layout-content .container-fluid>.mem-profile{margin-bottom:0;}
}

/* v19e83z105: 三系统功能页（creat/huoma/cards 的 func 视图）功能卡列 padding 归零——与横幅/标题 12px 基准对齐（原 col 15px 内缩 39px 过大）；hm-card 自带 margin-bottom 20 卡间距不受影响 */
@media (max-width:767px){
  .ly-featrow>[class*="col-"]{padding-left:0;padding-right:0;}
}

/* v19e83z106: 功能卡按钮移至描述下方（DOM 已换位，PC 用 absolute 钉回首行右侧复原原布局）；移动端回正自然流右对齐 */
@media (max-width:767px){
  .hm-card-btn{position:static;margin:14px 0 0 auto;}
}

/* v19e83z107: 三系统分组卡重设计（标题行=图标+标题+动作钮，chips 两列等宽网格）+ 活码列表移动端行卡片化 + 活码页两卡边距对齐。
   钩子类：hm-grpcard（三页分组卡，PC 无样式零影响）、hm-list-tb（活码列表表，PC 无样式零影响）。全部规则收 ≤767。 */
@media (max-width:767px){
  /* 1) 活码页分组/列表卡与其它模块左右缘对齐：splitrow 列 15px 内缩是 27px 错位根因 */
  .lyear-layout-content .hm-splitrow>.hm-colL,
  .lyear-layout-content .hm-splitrow>.hm-colR{padding-left:0;padding-right:0;}
  /* 2) 卡头/卡体左右内边距统一 12px（对齐 vip 页 20260920z 基准） */
  .lyear-layout-content .card.card-primary>.card-header,
  .lyear-layout-content .card.card-primary>.card-body{padding-left:12px;padding-right:12px;}
  /* 3) 分组卡头：标题+动作钮一行，chips 独立成两列等宽网格 */
  .lyear-layout-content .hm-grpcard>.card-header{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:12px;}
  .lyear-layout-content .hm-grpcard>.card-header h4.pull-left{float:none;flex:1 1 auto;}
  .lyear-layout-content .hm-grpcard>.card-header>.pull-right{float:none;margin:0;order:1;}
  .lyear-layout-content .hm-grpcard .hm-urlsorts{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1 1 100%;margin:8px 0 0;order:2;}
  .lyear-layout-content .hm-urlsorts .btn{display:flex;align-items:center;justify-content:center;height:36px;margin:0;padding:0 10px;font-size:14px;line-height:1.2;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  /* 4) 活码列表行卡片化：9 列表格改三行式卡片（表头行隐藏；仅 .hm-list-tb 挂载） */
  .lyear-layout-content .hm-twrap table.table.hm-list-tb{display:block;width:100%;min-width:0;}
  .lyear-layout-content .hm-twrap .hm-list-tb tbody{display:block;width:100%;}
  .lyear-layout-content .hm-twrap .hm-list-tb tr:first-child{display:none;}
  .lyear-layout-content .hm-twrap .hm-list-tb tr{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;column-gap:10px;row-gap:7px;background:#fff;border:1px solid #e8ecf1;border-radius:5px;margin:0 0 10px;padding:10px 12px;}
  .lyear-layout-content .hm-twrap .hm-list-tb td{display:block;width:auto;border-top:0;padding:0;background:transparent;}
  .hm-list-tb td:nth-child(1){grid-row:1;grid-column:1;}
  .hm-list-tb td:nth-child(2){grid-row:1;grid-column:2;}
  .hm-list-tb td:nth-child(3){grid-row:1;grid-column:3;font-size:15px;font-weight:700;color:#101828;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .hm-list-tb td:nth-child(7){grid-row:1;grid-column:4;font-size:14px;}
  .hm-list-tb td:nth-child(4){grid-row:2;grid-column:1/3;}
  .hm-list-tb td:nth-child(5){grid-row:2;grid-column:3/5;min-width:0;display:flex;align-items:center;}
  .hm-list-tb td:nth-child(6){grid-row:3;grid-column:1/3;font-size:12px;color:#667085;}
  .hm-list-tb td:nth-child(6)::before{content:"扫码 ";color:#98a2b3;}
  .hm-list-tb td:nth-child(8){grid-row:3;grid-column:3;font-size:12px;color:#98a2b3;}
  .hm-list-tb td:nth-child(9){grid-row:3;grid-column:4;display:flex;gap:12px;justify-self:end;}
  .hm-list-tb td:nth-child(9) a{font-size:14px;}
  /* 行内元素适配：二维码 40px 加大触位、短链 url 省略+复制钮不缩、类型标不折行 */
  .hm-list-tb .hm-qrnew-thumb{width:40px;height:40px;margin-right:8px;}
  .hm-list-tb .hm-dlbtn{padding:6px 12px;font-size:13px;}
  .hm-list-tb td:nth-child(5) .hm-url{flex:1 1 auto;min-width:0;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;}
  .hm-list-tb td:nth-child(5) .hm-copybtn{flex:0 0 auto;}
  .hm-list-tb .hm-tag{white-space:nowrap;}
  /* 空态行占满整行 */
  .hm-list-tb td:only-child{grid-column:1/-1;grid-row:auto;font-weight:400;color:#98a2b3;font-size:14px;}
  /* 全选条 */
  .lyear-layout-content .hm-listbar{display:flex;align-items:center;gap:14px;margin:4px 0 0;}
}

/* v19e83z108: 功能卡描述文字与图标左缘对齐——清掉 PC 给标题让位的 64px 缩进（≤767；PC 零改动） */
@media (max-width:767px){
  .hm-card .hm-card-desc.hm-card-desc{padding-left:0;}
}

/* v19e83z109: 单个生成页重设计——跳转方式卡 2×2 横排（治名称竖字：icon 32/tick 22/卡 padding 10 后名称余量 80px+），
   兼容旧结构（member_creat 无 hm-ucard-hd：icon/name/tick/desc 直挂卡下用 order 排）；域名选择 radio 两列卡片化（dm-grid/dm-radio 钩子类 PC 无样式零影响，:has 选中高亮老内核降级无高亮）。全部收 ≤767。 */
@media (max-width:767px){
  /* z110 老板定稿：跳转方式一行一个（单列），卡宽余量大名称/描述全宽松 */
  .hm-ucards{grid-template-columns:1fr;gap:8px;margin:6px 0 12px;}
  .hm-ucard{display:flex;flex-wrap:wrap;align-items:center;padding:10px 10px 9px;}
  .hm-ucard .hm-ucard-hd{flex:0 0 100%;gap:8px;}
  .hm-ucard .hm-ucard-icon{width:32px;height:32px;margin-bottom:0;flex:none;}
  .hm-ucard .hm-ucard-icon svg{width:18px;height:18px;}
  .hm-ucard .hm-ucard-name{font-size:14px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .hm-utick{width:22px;height:22px;font-size:13px;}
  .hm-ucard>.hm-ucard-icon{order:1;margin:0;}
  .hm-ucard>.hm-ucard-name{order:2;flex:1;min-width:0;margin:0;}
  .hm-ucard>.hm-utick{order:3;}
  .hm-ucard .hm-ucard-desc{order:4;flex:0 0 100%;margin:6px 0 0;min-height:0;padding-left:0;line-height:1.5;}
  /* 域名选择两列卡片 */
  .dm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 2px;}
  .dm-grid label.dm-radio{display:flex;align-items:center;gap:6px;margin:0;min-height:36px;padding:3px 9px;border:1px solid #e3e8ef;border-radius:3px;background:#fff;font-size:14px;font-weight:400;color:#344054;white-space:nowrap;overflow:hidden;}
  .dm-grid .dm-radio input[type="radio"]{margin:0;flex:none;accent-color:#48d2e9;}
  .dm-grid label.dm-radio:has(input:checked){border-color:#48d2e9;background:#f4faff;}
}

/* v19e83z114: 跳转方式折叠选择——PC 及所有宽度默认隐藏头部（空按钮防占位），仅 ≤767 启用折叠形态 */
.hm-usel-hd{display:none;}

/* v19e83z111: 生成表单页（act=form/custom 两栏）边距统一——fm-col 列 15px 内缩归零，生成表单卡与预览图卡左右缘同 12px 基准；member 移动端全部 .card 头/体内边距统一 12px（原 15/20px 缩进是「边距不齐」主因）。全部收 ≤767；PC 两栏原样。 */
@media (max-width:767px){
  .fm-col.fm-col{padding-left:0;padding-right:0;}
  .lyear-layout-content .card>.card-header,
  .lyear-layout-content .card>.card-body{padding-left:12px;padding-right:12px;}
  .fm-col .card{margin-left:0;margin-right:0;}
  /* z112: 套餐额度文字换行到标题下方（PC inline 原样）；跳转方式图标再调小 26px */
  .fm-col .card-header h4 .quota-tip{display:block;margin:4px 0 0;}
  .hm-ucard .hm-ucard-icon{width:22px;height:22px;border-radius:5px;}
  .hm-ucard .hm-ucard-icon svg{width:13px;height:13px;}
  /* z114/z115: 跳转方式折叠+悬浮下拉——收起一行当前值；展开 fixed 浮层覆盖不推内容（滚动/点外/选中即收）；与域名选择间距加大 */
  .hm-usel{display:block;margin:8px 0 18px;}
  .hm-usel .hm-ucards{display:none;}
  .hm-usel.open .hm-ucards{display:grid;grid-template-columns:1fr;gap:8px;}
  .hm-usel .hm-ucards.hm-float{position:fixed;z-index:9998;margin:0;background:#fff;border:1px solid #e3e8ef;border-radius:3px;box-shadow:0 12px 32px rgba(16,24,40,.18);padding:8px;max-height:66vh;overflow:auto;}
  .hm-usel-hd{display:flex;align-items:center;gap:8px;width:100%;min-height:46px;padding:9px 12px;background:#fff;border:1px solid #e3e8ef;border-radius:3px;font-size:14px;font-weight:700;color:#101828;cursor:pointer;font-family:inherit;text-align:left;}
  .hm-usel.open .hm-usel-hd{border-color:#48d2e9;}
  .hm-usel-hd .hm-usel-ico{width:26px;height:26px;border-radius:5px;display:flex;align-items:center;justify-content:center;flex:none;}
  .hm-usel-hd .hm-usel-ico svg{width:15px;height:15px;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.18));}
  .hm-usel-hd .hm-usel-name{flex:1;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .hm-usel-hd .hm-usel-caret{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #98a2b3;flex:none;transition:transform .2s;}
  .hm-usel.open .hm-usel-caret{transform:rotate(180deg);}
}

/* v19e83z126: 移动端全站边距统一——顶层两栏列 padding 全归零（col-lg-8 右 15px / col-lg-4 左 15px 残留是「上下两卡左右不对齐」根因，fm-col 方案推广到全站顶层 row；
   嵌套 row 的 hm-statrow/ly-featrow/表单 col-md-3/9 不在作用域不受影响，PC 首尾列规则 513/514 原样）。全部收 ≤767。 */
@media (max-width:767px){
  .lyear-layout-content .container-fluid>.row>[class*="col-"]{padding-left:0;padding-right:0;}
}

/* v19e83z126: 批量生成返回结果行卡（JS 模板共用，PC/移动同构）：二维码 56px 左置、短链行=短链加粗省略+编辑钮右置淡底描边 3px、指向/时间灰字两行；失败分支红字 errmsg。 */
.hm-bres{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid #e8ecf1;border-radius:5px;background:#fff;}
.hm-bres+.hm-bres{margin-top:10px;}
.hm-bres-qr{width:56px;height:56px;flex:none;display:block;}
.hm-bres-info{flex:1;min-width:0;}
.hm-bres-link{display:flex;align-items:center;gap:8px;}
.hm-bres-short{flex:1 1 auto;min-width:0;font-size:14px;font-weight:700;color:#101828;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hm-bres-edit{flex:none;display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:400;line-height:1;padding:6px 10px;border:1px solid rgba(72,176,247,.35);background:rgba(72,176,247,.1);color:#2e8fdc;border-radius:3px;text-decoration:none;}
.hm-bres-long{font-size:12px;font-weight:400;color:#667085;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hm-bres-time{font-size:12px;font-weight:400;color:#98a2b3;margin-top:3px;}
.hm-bres-err .hm-bres-errmsg{font-size:13px;font-weight:400;color:#e54d42;}
