/* 用户模块 */
/* 用户中心样式：登录页、注册页、个人资料、常用购票人、账号设置；原版作用域属性原样保留 */


/* 登录页：深色背景 + 左侧插画 + 右侧卡片，配色沿用全站主题红（data-v-908a1707） */
.app-container[data-v-908a1707]{width:100%;height:100%;position:absolute;background:#fff}
.app-container .main[data-v-908a1707]{width:100%;height:600px;background:radial-gradient(120% 140% at 12% 0%,#2b1050 0%,#17073d 55%,#0d0426 100%)}
.app-container .main .login[data-v-908a1707]{height:600px;margin:0 auto;width:1150px;display:flex;align-items:center;justify-content:space-between}
.app-container .main .login .main-left[data-v-908a1707]{width:640px}
.app-container .main .login .main-left img[data-v-908a1707]{width:640px;height:auto;border-radius:12px;display:block;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.app-container .main .login .main-right[data-v-908a1707]{width:380px;padding:26px 30px 24px;border-radius:14px;background:#fff;box-shadow:0 22px 50px rgba(9,2,26,.45);text-align:center}
.dm-login-title[data-v-908a1707]{margin:0;font-size:22px;font-weight:700;color:#1a1a1a;text-align:left}
.dm-login-sub[data-v-908a1707]{margin:6px 0 14px;font-size:13px;color:#8a90a2;text-align:left}
[data-v-908a1707] .demo-tabs>.el-tabs__content{padding:0;color:#6b778c;font-size:32px;font-weight:600}
[data-v-908a1707] .el-tabs__nav-scroll{width:100%}
[data-v-908a1707] .el-tabs__nav-scroll .el-tabs__nav{width:100%!important;margin:0 0 16px!important;display:flex}
[data-v-908a1707] .el-tabs--card>.el-tabs__header{border-bottom:1px solid #eef1f3;margin-bottom:18px}
[data-v-908a1707] .el-tabs--card>.el-tabs__header .el-tabs__item{flex:1;width:auto;text-align:center;line-height:40px;height:40px;background:none;border:none;cursor:pointer;color:#8a90a2;font-size:15px;position:relative;transition:color .2s}
[data-v-908a1707] .el-tabs--card>.el-tabs__header .el-tabs__item:hover{color:#ff2d51}
[data-v-908a1707] .el-tabs--card>.el-tabs__header .el-tabs__item.is-active{color:#ff2d51;font-weight:600;background:none}
[data-v-908a1707] .el-tabs--card>.el-tabs__header .el-tabs__item.is-active::after{content:"";position:absolute;left:50%;bottom:-1px;width:56px;height:2px;margin-left:-28px;border-radius:2px;background:#ff2d51}
[data-v-908a1707] #pane-first{width:100%;margin:0}
[data-v-908a1707] .el-input-group__prepend{width:38px;height:44px;line-height:44px;text-align:center;color:#9aa0ac;position:absolute;left:8px;top:0;background:none;border:0;border-radius:0;box-shadow:none}
.el-input-group--prepend[data-v-908a1707]{border:none;height:44px;outline:none;font-size:14px;padding-left:48px;margin-bottom:16px;border-radius:8px;background:#f6f7f9;transition:background .2s,box-shadow .2s}
.el-input-group--prepend[data-v-908a1707]:focus-within{background:#fff;box-shadow:0 0 0 1px #ff2d51 inset}
.el-input-group--prepend[data-v-908a1707] .el-input__wrapper{background:none;box-shadow:none;padding:0 12px 0 0}
.btn[data-v-908a1707]{background-image:linear-gradient(90deg,#ff2d51,#ff6a3d);border:0;border-radius:22px;font-size:17px;font-weight:600;height:44px;line-height:44px;outline:none;color:#fff;width:100%;cursor:pointer;letter-spacing:2px;box-shadow:0 8px 18px rgba(255,45,81,.3);transition:filter .2s,transform .1s}
.btn[data-v-908a1707]:hover{filter:brightness(1.05)}
.btn[data-v-908a1707]:active{transform:translateY(1px)}
.error-tips[data-v-908a1707]{border:1px solid #ff934c;background:#fefcee;margin-bottom:16px;font-size:14px;padding:5px 8px;overflow:hidden;position:relative;z-index:1001;text-align:left}

/* 登录页：记住登录与立即注册同一行 */
[data-v-908a1707] .dm-remember{display:flex;align-items:center;justify-content:space-between;margin:2px 0 18px;text-align:left;font-size:13px}
[data-v-908a1707] .dm-remember .el-checkbox__label{color:#606266;font-size:13px}
[data-v-908a1707] .dm-login-register{color:#ff2d51;font-size:13px}
[data-v-908a1707] .dm-login-register:hover{text-decoration:underline}

/* 登录页：扫码页签里的二维码 */
[data-v-908a1707] .dm-qr{padding:4px 0 2px;text-align:center}
[data-v-908a1707] .dm-qr__img{width:200px;height:200px;display:block;margin:0 auto;padding:8px;border:1px solid #eef1f3;border-radius:10px;background:#fff;object-fit:contain}
[data-v-908a1707] .dm-qr__tip{margin:14px 0 0;color:#1a1a1a;font-size:15px;font-weight:600}
[data-v-908a1707] .dm-qr__sub{margin:6px 0 0;color:#8a90a2;font-size:12.5px;line-height:1.6}

/* 注册页：原版 register.41309028.css 的作用域规则（data-v-7259658e） */
.app-container[data-v-7259658e]{width:100%;height:100%;position:absolute;background:#ffffff}
.app-container .main[data-v-7259658e]{background-color:#f8f8f8;padding-top:40px}
.app-container .main .main-center[data-v-7259658e]{width:1200px;height:500px;background:#ffffff;padding-top:40px;margin:0 auto;position:relative}
.app-container .main .main-center .el-form[data-v-7259658e]{width:720px;margin:0 auto;color:#666}
.app-container .main .main-center .el-form .el-input[data-v-7259658e],.app-container .main .main-center .el-form .el-select .el-input[data-v-7259658e]{height:38px}
.app-container .main .main-center .el-form .chx[data-v-7259658e]{width:260px;height:37px;display:inline-block}
.app-container .main .main-center .el-form .slider[data-v-7259658e]{width:400px}
.app-container .main .main-center .el-form .slider .el-input[type=range][data-v-7259658e]{appearance:none;background-color:#ccc;height:8px;border-radius:5px;cursor:pointer;outline:none;padding:0;margin:0;position:relative;transition:background-size .3s ease}
.app-container .main .main-center .el-form .slider .el-input[type=range][data-v-7259658e]:before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(to right,red,orange,yellow,green,blue,indigo,violet);z-index:1}
.app-container .main .main-center .el-form .slider .el-input[type=range][data-v-7259658e]:after{content:attr(data-label);text-align:center;font-weight:700;color:#fff;position:absolute;top:50%;transform:translateY(-50%);left:calc(var(--percentage) / 100 * 100%);z-index:2}
[data-v-7259658e] .el-input-group--prepend .el-input-group__prepend .el-select .el-input .el-input__wrapper{height:38px!important}
.btn[data-v-7259658e]{background-color:#ff371dd9;background-image:-webkit-gradient(linear,left top,right top,from(#ff4aae),to(rgba(255,55,29,.85)));background-image:linear-gradient(90deg,#ff4aae,rgba(255,55,29,.85));border-color:#ff371dd9;border-radius:3px;font-size:20px;height:42px;line-height:42px;outline:none;color:#fff;width:100%;cursor:pointer;margin-top:60px;margin-left:280px}
.el-form-item--default[data-v-7259658e]{margin-bottom:34px}

/* 个人资料：原版 personInfo/index.vue 的作用域规则（data-v-0804fa68） */
.red-line[data-v-0804fa68]{border-bottom:5px solid rgba(255,55,29,.85)}
.section[data-v-0804fa68]{width:1000px;margin:15px auto 0}
.section .sidebarMenu[data-v-0804fa68]{float:left}
.section .right-section[data-v-0804fa68]{width:789px;float:right}
.section .right-section .breadcrumb[data-v-0804fa68]{border:1px solid #efefef;height:38px;overflow:hidden;background:rgba(255,55,29,.85) repeat-x;padding:0 15px;line-height:38px;color:#fff;margin-bottom:15px}
.section .right-section .right-tab[data-v-0804fa68]{margin-top:23px}
.section .right-section .right-tab .title[data-v-0804fa68]{border-bottom:2px solid rgba(255,55,29,.85);height:29px}
.section .right-section .right-tab .title li[data-v-0804fa68]{width:104px;height:29px;overflow:hidden;margin-left:5px}
.section .right-section .right-tab .title li.right[data-v-0804fa68]{float:right;color:#333;font-size:14px;font-family:Microsoft YaHei;width:180px;text-align:right;line-height:20px}
.section .right-section .right-tab .title li.right span[data-v-0804fa68]{color:#ff371dd9;font-size:28px;font-weight:700;line-height:25px}
.section .right-section .right-tab .title li.left[data-v-0804fa68]{background:rgba(255,55,29,.85) no-repeat scroll -139px -122px;display:block;line-height:29px;text-align:center;font-size:12px;padding:0 2px;background-position:-139px -93px;color:#fff;font-weight:700;float:left}
.section .right-section .box[data-v-0804fa68]{border:1px solid #eef1f3}
.section .right-section .box .info-list[data-v-0804fa68]{padding:25px 40px;color:#666}
.section .right-section .box .info-list .tips-info[data-v-0804fa68]{background:#fffdee;border:1px solid #edd28b;padding:10px 20px;color:#999;margin-bottom:15px}
.section .right-section .box .info-list .btn[data-v-0804fa68]{margin-left:150px;background:rgba(255,55,29,.85) no-repeat;width:73px;height:25px;border:0;cursor:pointer;color:#fff}
.foot[data-v-0804fa68]{margin-top:500px}
[data-v-0804fa68] .el-input__wrapper{flex-grow:.3}

/* 常用购票人：原版 personInfo/ticketUser.vue 的作用域规则（data-v-15aeeafb） */
.container .red-line[data-v-15aeeafb]{border-bottom:5px solid rgba(255,55,29,.85)}
.container .section[data-v-15aeeafb]{width:1000px;margin:15px auto 0}
.container .section .sidebarMenu[data-v-15aeeafb]{float:left}
.container .section .right-section[data-v-15aeeafb]{width:789px;float:right}
.container .section .right-section .breadcrumb[data-v-15aeeafb]{border:1px solid #efefef;height:38px;overflow:hidden;background:rgba(255,55,29,.85) repeat-x;padding:0 15px;line-height:38px;color:#fff;margin-bottom:15px}
.container .section .right-section .right-tab[data-v-15aeeafb]{margin-top:23px}
.container .section .right-section .right-tab .addUser[data-v-15aeeafb]{margin:0 0 10px 86%;background-color:#ff371dd9;color:#fff}
.container .section .right-section .right-tab .addTicketUserInfo[data-v-15aeeafb]{border:1px solid #ebeef5}
.container .section .right-section .right-tab .addTicketUserInfo .title[data-v-15aeeafb]{width:136px;line-height:36px;border-bottom:2px solid rgba(255,55,29,.85);padding-left:15px;font-size:16px;color:#333}
.container .section .right-section .right-tab .addTicketUserInfo .line[data-v-15aeeafb]{width:100%;height:2px;background:#ebeef5;margin-bottom:50px}
.container .section .right-section .right-tab .addTicketUserInfo .ticketForm[data-v-15aeeafb]{margin-top:2px}
.container .section .right-section .right-tab .addTicketUserInfo .ticketForm .save[data-v-15aeeafb]{background-color:#ff371dd9;color:#fff}
.container .foot[data-v-15aeeafb]{margin-top:500px}
[data-v-15aeeafb] .el-input__wrapper{flex-grow:.3}
[data-v-15aeeafb] .el-select .el-input__wrapper{flex-grow:.4;width:340.5px!important}

/* 账号设置：原版 accountSettings/index.vue 的作用域规则（data-v-bb5101d2） */
.red-line[data-v-bb5101d2]{border-bottom:5px solid rgba(255,55,29,.85)}
.section[data-v-bb5101d2]{width:1000px;margin:15px auto 0}
.section .sidebarMenu[data-v-bb5101d2]{float:left}
.section .right-section[data-v-bb5101d2]{width:789px;float:right}
.section .right-section .breadcrumb[data-v-bb5101d2]{border:1px solid #efefef;height:38px;overflow:hidden;background:rgba(255,55,29,.85) repeat-x;padding:0 15px;line-height:38px;color:#fff;margin-bottom:15px}
.section .right-section .right-tab[data-v-bb5101d2]{margin-top:23px}
.section .right-section .right-tab .title[data-v-bb5101d2]{border-bottom:2px solid rgba(255,55,29,.85);height:29px}
.section .right-section .right-tab .title li[data-v-bb5101d2]{width:104px;height:29px;overflow:hidden;margin-left:5px}
.section .right-section .right-tab .title li.right[data-v-bb5101d2]{float:right;color:#333;font-size:14px;font-family:Microsoft YaHei;width:180px;text-align:right;line-height:20px}
.section .right-section .right-tab .title li.right span[data-v-bb5101d2]{color:#ff371dd9;font-size:28px;font-weight:700;line-height:25px}
.section .right-section .right-tab .title li.left[data-v-bb5101d2]{background:rgba(255,55,29,.85) no-repeat scroll -139px -122px;display:block;line-height:29px;text-align:center;font-size:12px;padding:0 2px;background-position:-139px -93px;color:#fff;font-weight:700;float:left}
.section .right-section .box .account-info[data-v-bb5101d2]{border:1px solid #eef1f3;padding:25px 20px 25px 25px;overflow:hidden;zoom:1;margin-top:15px}
.section .right-section .box .account-info ul[data-v-bb5101d2]{list-style:none}
.section .right-section .box .account-info ul li[data-v-bb5101d2]{float:left}
.section .right-section .box .account-info ul .name-info-yes[data-v-bb5101d2]{width:149px;border-right:1px solid #eef1f3;height:30px;line-height:30px;background:url(//assets.damai.cn/damai_v2/passport/images/right2.png) no-repeat;padding-left:55px;font-weight:700;font-size:18px;font-family:Microsoft YaHei}
.section .right-section .box .account-info ul .name-info-no[data-v-bb5101d2]{width:149px;border-right:1px solid #eef1f3;height:30px;line-height:30px;background:url(//assets.damai.cn/damai_v2/passport/images/sec2.png) no-repeat;padding-left:55px;font-weight:700;font-size:18px;font-family:Microsoft YaHei}
.section .right-section .box .account-info ul .detail[data-v-bb5101d2]{width:445px;padding:0 10px;color:#999;line-height:16px}
.section .right-section .box .account-info ul .detail span[data-v-bb5101d2]{float:left}
.section .right-section .box .account-info ul .explain[data-v-bb5101d2]{float:right;width:90px;text-align:center;line-height:30px}
.section .right-section .box .account-info ul .explain .pathBtn[data-v-bb5101d2]{background:no-repeat scroll 0 -234px;width:72px;height:21px;line-height:21px;text-align:center;color:#ff371dd9;display:inline-block;font-size:14px}
.section .right-section .box .account-info ul .explain .btnColor[data-v-bb5101d2]{color:#2f97b4;font-size:14px}
.foot[data-v-bb5101d2]{margin-top:565px}
[data-v-bb5101d2] .el-input__wrapper{flex-grow:.3}

/* 改密码与实名认证：原版两个表单组件的作用域规则（data-v-813bf77d、data-v-287d2aec） */
.el-row[data-v-813bf77d]{width:400px;height:400px;margin:100px auto 30px}
.btn[data-v-813bf77d]{margin-left:130px;background:rgba(255,55,29,.85);border:none}
.el-row[data-v-287d2aec]{width:400px;height:400px;margin:100px auto 30px}
.btn[data-v-287d2aec]{margin-left:130px;background:rgba(255,55,29,.85);border:none}

/* 个人中心左侧菜单：原版 menuSidebar 作用域规则（data-v-ceec2f57），外站背景图改为同色渐变 */
.app-container .sidebar[data-v-ceec2f57]{width:201px}
.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item[data-v-ceec2f57],.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title[data-v-ceec2f57],.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title[data-v-ceec2f57]{padding-left:20px}
[data-v-ceec2f57] .menu_border{border:1px solid #dcdfe6}
[data-v-ceec2f57] .el-menu{border-right:none}
[data-v-ceec2f57] .el-sub-menu .el-menu-item{height:32px;line-height:32px}
[data-v-ceec2f57] .el-sub-menu .el-menu-item:hover,[data-v-ceec2f57] .el-sub-menu .el-menu-item.is-active{border-left:2px solid rgba(255,55,29,.85);background:#fafafa ;height:32px;margin-left:-1px;position:relative;padding-left:32px;text-decoration:none;color:#303133}
[data-v-ceec2f57] .el-menu .el-sub-menu .el-sub-menu__title{background:linear-gradient(#fbfbfb,#f2f2f2);border-bottom:1px solid #efefef;height:30px;line-height:30px;padding-left:20px;font-family:Microsoft YaHei;color:#333;font-weight:700}
[data-v-ceec2f57] .el-sub-menu .el-sub-menu__icon-arrow,[data-v-ceec2f57] .el-submenu__title .el-submenu__icon-arrow{display:none}
.mb-2[data-v-ceec2f57]{background:rgba(255,55,29,.85) no-repeat;width:205px;height:33px;position:relative;left:-3px;padding-left:11px;line-height:30px;font-family:Microsoft YaHei;font-size:14px;color:#fff;font-weight:700;margin-bottom:-3px;margin-top:0}
[data-v-ceec2f57] .el-sub-menu .el-menu-item a{width:100%;height:100%;display:block}

/* ---------------- 以下为本项目新增：验证码、提示条、原生控件外观补足 ---------------- */

/* 一次性提示条：与登录页原版错误提示同款外观 */
.error-tips,
.dm-error-tips{margin-bottom:16px;padding:5px 8px;border:1px solid #ff934c;background:#fefcee;font-size:14px;line-height:1.6;color:#666;text-align:left;overflow:hidden}
.error-tips .el-icon,
.dm-error-tips .el-icon{margin-right:6px;color:#ff934c;vertical-align:-2px}
.dm-flash{margin:0 0 15px;padding:8px 12px;border:1px solid #edd28b;background:#fffdee;font-size:14px;line-height:1.6;color:#999}
.dm-flash--ok{border-color:#b7e2a9;background:#f0f9eb;color:#529b2e}
.dm-flash--error{border-color:#ff934c;background:#fefcee;color:#e6a23c}

/* 图形验证码：输入框沿用原版输入框，验证码图片贴在输入区右侧 */
.dm-captcha-row{position:relative}
.dm-captcha-row .el-input__inner{padding-right:100px}
.dm-captcha-code{position:absolute;top:3px;right:3px;width:92px;height:38px;border-radius:6px;background:#f5f6f8;cursor:pointer;object-fit:cover}
.app-container .main .main-center .el-captcha-row{position:relative}
.el-captcha-row .el-input__inner{padding-right:110px}
.el-captcha-row .dm-captcha-code{height:36px;width:100px}

/* 登录页：原版只保留 Logo，页头其余区块（城市、导航、搜索、用户区）在此页隐藏 */
body:has(.app-container.login-page[data-v-908a1707]) .app-header .localHeader,
body:has(.app-container.login-page[data-v-908a1707]) .app-header .recommendHeader,
body:has(.app-container.login-page[data-v-908a1707]) .app-header .searchHeader,
body:has(.app-container.login-page[data-v-908a1707]) .app-header .rightHeader{display:none!important}

/* 登录、注册页的容器在原版里包住页头，本项目页头在布局层且不允许改动，
   这里把固定满高改为内容高度 + 减去页头的最小高度，避免多出一屏滚动 */
.app-container[data-v-908a1707],
.app-container[data-v-7259658e]{height:auto;min-height:calc(100vh - 72px)}

/* 注册页：比原版多出昵称、邮箱、验证码三行，固定高度改为最小高度，避免盖住页脚 */
.app-container .main .main-center[data-v-7259658e]{height:auto;min-height:500px;padding-bottom:40px}
.app-container .main[data-v-7259658e]{padding-bottom:40px}

/* 个人中心：保存按钮沿用原版红底白字按钮观感 */
.dm-save{height:30px;padding:0 18px;border:0;border-radius:3px;background:rgba(255,55,29,.85);color:#fff;font-size:14px;cursor:pointer}
.dm-save:hover{background:#ff371d}
.dm-form-actions{margin:10px 0 0 100px}
.dm-setting-form{padding:25px 40px;color:#666}
.dm-setting-form .el-form-item__label{color:#666}
.dm-setting-title{margin:0;padding:0 0 12px;border-bottom:1px solid #eef1f3;font-size:16px;color:#333}

/* 购票人表格：操作列按钮与图标 */
.dm-buyer-table{margin-top:4px}
.dm-op{display:inline-flex;align-items:center;gap:4px;margin:0 6px;color:#409eff;font-size:14px;cursor:pointer;background:none;border:0;padding:0}
.dm-op svg{width:14px;height:14px}
.dm-op:hover{color:#ff371d}
.dm-op--danger:hover{color:#f56c6c}
.dm-buyer-empty{padding:40px 0;text-align:center;color:#909399;font-size:14px}

/* 原生下拉框：外观对齐组件库选择框，功能仍用原生 select */
.dm-select{position:relative;display:inline-flex;align-items:center;width:340.5px;max-width:100%;height:32px;border:1px solid #dcdfe6;border-radius:4px;background:#fff;box-sizing:border-box;color:#606266;font-size:14px}
.dm-select__text{padding:0 30px 0 11px;line-height:30px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-select__caret{position:absolute;right:9px;color:#a8abb2;font-size:12px;pointer-events:none}
.dm-select__control{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.dm-select:hover{border-color:#c0c4cc}

/* 原生复选框与单选框：勾选态由 CSS 直接呈现，不依赖脚本 */
.el-checkbox__original:checked+.el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}
.el-checkbox__original:checked+.el-checkbox__inner:after{transform:rotate(45deg) scaleY(1)}
.el-radio__original:checked+.el-radio__inner{border-color:var(--el-color-primary);background:var(--el-color-primary)}
.el-radio__original:checked+.el-radio__inner:after{transform:translate(-50%,-50%) scale(1)}
.el-radio__original:checked~.el-radio__label{color:var(--el-color-primary)}

/* 个人中心主体：左右两栏都用浮动，收尾清除，避免页脚压到内容上 */
.account-section::after{content:"";display:block;clear:both}

/* 个人中心页脚：原版用 500 像素顶距把页脚压在页面底部；本项目页头在布局里，
   清浮后按内容自然衔接，留出与内容同等的间距 */
.dm-foot{margin-top:45px}

/* 购票人表格：列宽按 colgroup 分配，表格撑满容器 */
.dm-buyer-table table{width:100%;table-layout:fixed}
.dm-buyer-table .el-table__header-wrapper th{background-color:#f5f7fa}

/* 行内表单：表格里的删除按钮需要和编辑链接排在同一行 */
.dm-inline-form{display:inline;margin:0}

/* 个人资料页的实名状态行 */
.dm-auth-status{padding:2px 0 12px 100px;font-size:14px;color:#999}
.dm-auth-status a{color:#ff371d}
.dm-auth-status--ok{color:#529b2e}

/* 账号设置：原版的绿勾与红叹号是外部图床图片，改用内联矢量图，尺寸与位置保持一致 */
.account-info .name-info-yes,
.account-info .name-info-no{background-repeat:no-repeat;background-position:22px center;background-size:16px 16px}
.account-info .name-info-yes{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%235cb85c' d='M512 64a448 448 0 1 1 0 896A448 448 0 0 1 512 64zm0 64a384 384 0 1 0 0 768 384 384 0 0 0 0-768zm203.3 236.3-244.8 244.8-89.6-89.6-45.2 45.2 134.8 134.8 290-290-45.2-45.2z'/%3E%3C/svg%3E")}
.account-info .name-info-no{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23f0a020' d='M512 64a448 448 0 1 1 0 896A448 448 0 0 1 512 64zm0 64a384 384 0 1 0 0 768 384 384 0 0 0 0-768zm0 512a48 48 0 1 1 0 96 48 48 0 0 1 0-96zm0-352a40 40 0 0 1 40 40l-8 240a32 32 0 0 1-64 0l-8-240a40 40 0 0 1 40-40z'/%3E%3C/svg%3E")}

/* ================= 注册页排版 =================
   原本 Element 的输入组前缀宽度不可控（60px），把号码框挤到 80px。
   这里改成自绘号码框，并统一各行宽度、间距与字号。
   作用域值 data-v-7259658e 与原版一致，保证能覆盖原版规则。 */

/* 表单区：行距收紧一点，行高与控件高度对齐 */
.app-container .main .main-center .el-form[data-v-7259658e] {
    padding-bottom: 8px;
}

.app-container .main .main-center .el-form .el-form-item--default[data-v-7259658e] {
    margin-bottom: 20px;
}

.app-container .main .main-center .el-form .el-form-item__content[data-v-7259658e] {
    min-width: 0;
}

.app-container .main .main-center .el-form .el-input[data-v-7259658e],
.app-container .main .main-center .el-form .el-input__wrapper[data-v-7259658e] {
    width: 100%;
}

/* 必填星号与标签、内容垂直居中 */
.app-container .main .main-center .el-form .el-form-item__label {
    line-height: 40px;
    padding-right: 12px;
    font-size: 14px;
    color: #2d2d2d;
}

/* 普通输入框统一 40px 高 */
.app-container .main .main-center .el-form .el-input .el-input__wrapper[data-v-7259658e] {
    height: 40px;
    border-radius: 4px;
}

.app-container .main .main-center .el-form .el-input .el-input__inner[data-v-7259658e] {
    font-size: 14px;
}

/* ---------- 注册方式：分段控件 ---------- */
.dm-regtabs {
    display: inline-flex;
    gap: 0;
    border: 1px solid #dcdfe6;
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
}

.dm-regtab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 40px;
    padding: 0 16px;
    border: 0;
    border-right: 1px solid #dcdfe6;
    background: #fff;
    color: #606266;
    font: inherit;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    transition: background .15s, color .15s;
}

.dm-regtab:last-child {
    border-right: 0;
}

.dm-regtab svg {
    width: 15px;
    height: 15px;
    flex: none;
    opacity: .75;
}

.dm-regtab:hover {
    background: #fafafa;
    color: #ff2d51;
}

.dm-regtab.is-active {
    background: #fff1f4;
    color: #ff2d51;
    font-weight: 600;
}

.dm-regtab.is-active svg {
    opacity: 1;
}

/* ---------- 手机号：区号 + 号码，一个整体框 ---------- */
.dm-phone {
    display: flex;
    align-items: stretch;
    width: 100%;
    height: 40px;
    border: 1px solid #dcdfe6;
    border-radius: 4px;
    background: #fff;
    overflow: hidden;
    transition: border-color .15s, box-shadow .15s;
}

.dm-phone:focus-within {
    border-color: #ff2d51;
    box-shadow: 0 0 0 2px rgba(255, 45, 81, .08);
}

.dm-phone__code {
    position: relative;
    flex: none;
    width: 132px;
    background: #f7f8fa;
    border-right: 1px solid #dcdfe6;
}

.dm-phone__select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    height: 100%;
    padding: 0 24px 0 10px;
    border: 0;
    background: transparent;
    color: #2d2d2d;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
    outline: none;
    text-overflow: ellipsis;
}

.dm-phone__caret {
    position: absolute;
    right: 7px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    color: #a8abb2;
    pointer-events: none;
}

.dm-phone__caret svg {
    display: block;
    width: 12px;
    height: 12px;
}

.dm-phone__num {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
}

.dm-phone__input {
    width: 100%;
    height: 100%;
    padding: 0 11px;
    border: 0;
    background: transparent;
    color: #2d2d2d;
    font: inherit;
    font-size: 14px;
    outline: none;
}

.dm-phone__input::placeholder {
    color: #a8abb2;
}

/* ---------- 协议：与输入框同起点，占满内容区，最多两行 ---------- */
.app-container .main .main-center .el-form .dm-agree-content {
    margin-left: 230px;
}

.app-container .main .main-center .el-form .el-form-item__content[data-v-7259658e] > .el-checkbox[data-v-7259658e] {
    vertical-align: top;
    margin-top: 1px;
}

.app-container .main .main-center .el-form .chx[data-v-7259658e] {
    width: auto;
    max-width: calc(100% - 24px);
    height: auto;
    margin-left: 6px;
    font-size: 13px;
    line-height: 1.75;
    color: #606266;
    vertical-align: top;
}

/* 协议名称：只改颜色，做成「像链接」的蓝色，但不可点击、不跳转 */
.app-container .main .main-center .el-form .dm-agree-name {
    color: #1a73e8;
    cursor: text;
    text-decoration: none;
    user-select: text;
}

/* ---------- 提交按钮 ---------- */
.app-container .main .main-center .el-form .dm-register-btn {
    display: block;
    width: 180px;
    height: 44px;
    margin: 6px 0 0;
    border: 0;
    border-radius: 4px;
    background: linear-gradient(90deg, #ff2d51, #ff5a3c);
    color: #fff;
    font: inherit;
    font-size: 16px;
    letter-spacing: 1px;
    cursor: pointer;
    transition: opacity .15s;
}

/* 按钮外层：与输入框那一列同起点同宽度（75% 列，左侧让出 230px 标签位）后居中 */
.app-container .main .main-center .el-form .dm-register-row[data-v-7259658e] {
    flex: 0 0 75%;
    max-width: 75%;
    padding-left: 230px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
}

.app-container .main .main-center .el-form .dm-register-btn:hover {
    opacity: .9;
}

/* 窄屏：表单不撑破容器 */
@media (max-width: 1240px) {
    .app-container .main .main-center[data-v-7259658e] {
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box;
    }

    .app-container .main .main-center .el-form[data-v-7259658e] {
        width: 100%;
        max-width: 720px;
    }

    .app-container .main .main-center .el-form .el-form-item__label {
        width: 150px !important;
    }

    .app-container .main .main-center .el-form .dm-agree-content {
        margin-left: 150px;
    }

    .app-container .main .main-center .el-form .dm-register-row[data-v-7259658e] {
        padding-left: 150px;
    }
}

/* ---------------------------------------------------------------- 个人中心（新版）
   个人信息 / 账号设置 / 常用购票人三页共用：左侧用户卡片 + 分组导航，右侧卡片式正文。
   配色沿用全站主题红，圆角与浅灰底与登录页、手机版保持一致。 */

.dm-account {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    width: 1200px;
    margin: 20px auto 0;
}

.dm-account *,
.dm-account *::before,
.dm-account *::after {
    box-sizing: border-box;
}

/* ---------------- 左侧：用户卡片 + 导航 */

.dm-account__side-wrap {
    flex: none;
    width: 240px;
}

.dm-account__side {
    overflow: hidden;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(20, 24, 35, .04), 0 8px 24px rgba(20, 24, 35, .06);
}

.dm-user-card {
    padding: 24px 18px 22px;
    background: linear-gradient(135deg, #ff2d51 0%, #ff6a3d 100%);
    color: #fff;
    text-align: center;
}

.dm-user-card__ava {
    width: 56px;
    height: 56px;
    margin: 0 auto 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .22);
    display: flex;
    align-items: center;
    justify-content: center;
}

.dm-user-card__ava svg {
    width: 32px;
    height: 32px;
}

.dm-user-card__name {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* 卡片里的提现入口：余额跟着钱包走，没实名时样式压暗并提示先实名 */
.dm-user-card__withdraw {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 10px auto 0;
    padding: 5px 11px;
    width: fit-content;
    max-width: 100%;
    border-radius: 999px;
    background: rgba(255, 255, 255, .2);
    color: #fff;
    font-size: 12.5px;
    line-height: 1.3;
    text-decoration: none;
    transition: background-color .15s ease;
}

.dm-user-card__withdraw:hover {
    background: rgba(255, 255, 255, .32);
}

.dm-user-card__withdraw svg {
    flex: none;
    width: 14px;
    height: 14px;
}

.dm-user-card__withdraw span {
    white-space: nowrap;
}

.dm-user-card__withdraw b {
    font-weight: 700;
}

.dm-user-card__withdraw em {
    padding-left: 6px;
    border-left: 1px solid rgba(255, 255, 255, .45);
    font-style: normal;
    font-size: 11.5px;
    white-space: nowrap;
    opacity: .9;
}

.dm-user-card__withdraw.is-locked {
    background: rgba(0, 0, 0, .16);
    opacity: .92;
}

.dm-user-card__badge {
    display: inline-block;
    margin-top: 8px;
    padding: 2px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .22);
    font-size: 12px;
    line-height: 18px;
}

.dm-user-card__badge.is-ok {
    background: #fff;
    color: #e0334f;
    font-weight: 600;
}

.dm-account__nav {
    padding: 12px 10px 16px;
}

.dm-account__group + .dm-account__group {
    margin-top: 6px;
    border-top: 1px solid #f2f4f7;
    padding-top: 6px;
}

.dm-account__gtitle {
    margin: 0;
    padding: 10px 10px 6px;
    color: #9aa0ac;
    font-size: 12px;
    letter-spacing: .5px;
}

.dm-account__item {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 42px;
    padding: 0 12px;
    border-radius: 8px;
    color: #4a4f5c;
    font-size: 14px;
    text-decoration: none;
    transition: background .18s, color .18s;
}

.dm-account__item svg {
    flex: none;
    width: 17px;
    height: 17px;
    color: #9aa0ac;
    transition: color .18s;
}

.dm-account__item:hover {
    background: #fff5f6;
    color: #ff2d51;
}

.dm-account__item:hover svg {
    color: #ff2d51;
}

.dm-account__item.is-active {
    background: #fff1f4;
    color: #ff2d51;
    font-weight: 600;
}

.dm-account__item.is-active svg {
    color: #ff2d51;
}

/* ---------------- 右侧：页头 + 卡片 */

.dm-account__main {
    flex: 1;
    min-width: 0;
    width: 940px;
    max-width: 940px;
}

/* 正文里的提示条/卡片按列宽铺满，不参与撑开容器 */
.dm-account__main > .dm-flash {
    width: 100%;
    box-sizing: border-box;
}

.dm-page-head {
    margin-bottom: 14px;
}

.dm-page-head__row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
}

.dm-page-head__title {
    margin: 0;
    color: #1a1a1a;
    font-size: 22px;
    font-weight: 600;
}

.dm-page-head__sub {
    margin: 6px 0 0;
    color: #8a90a2;
    font-size: 13px;
}

.dm-card {
    margin-bottom: 16px;
    padding: 22px 26px 24px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(20, 24, 35, .04), 0 8px 24px rgba(20, 24, 35, .06);
}

.dm-card--flush {
    padding: 0;
    overflow: hidden;
}

.dm-card__head {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f2f4f7;
}

.dm-card__title {
    margin: 0;
    color: #1a1a1a;
    font-size: 16px;
    font-weight: 600;
}

.dm-card__hint {
    color: #9aa0ac;
    font-size: 12.5px;
}

.dm-card__note {
    margin: -6px 0 18px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #f0f9eb;
    color: #529b2e;
    font-size: 13px;
}

.dm-card__foot {
    display: flex;
    gap: 12px;
    margin-top: 4px;
    padding-left: 100px;
}

/* 购票人表单页头里已有主按钮，卡片内的按钮组不需要再缩进 */
.dm-card--flush .dm-card__foot {
    padding-left: 0;
}

/* ---------------- 表单行 */

.dm-field {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}

.dm-field__label {
    flex: none;
    width: 84px;
    color: #606266;
    font-size: 14px;
    text-align: right;
}

.dm-field__ctrl {
    flex: 1;
    min-width: 0;
    max-width: 420px;
}

.dm-input {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    height: 42px;
    padding: 0 14px;
    border: 1px solid #e4e7ed;
    border-radius: 8px;
    background: #fff;
    color: #1a1a1a;
    font: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color .18s, box-shadow .18s, background .18s;
}

.dm-input::placeholder {
    color: #b4b8c2;
}

.dm-input:hover {
    border-color: #d3d7e0;
}

.dm-input:focus {
    border-color: #ff2d51;
    box-shadow: 0 0 0 3px rgba(255, 45, 81, .1);
}

.dm-input.is-readonly {
    border-color: #eef1f3;
    background: #f7f8fa;
    color: #8a90a2;
    cursor: not-allowed;
}

.dm-input__ico {
    flex: none;
    width: 15px;
    height: 15px;
    color: #b4b8c2;
}

/* 性别分段选择 */
.dm-seg {
    display: inline-flex;
    padding: 3px;
    border-radius: 8px;
    background: #f4f6f9;
}

.dm-seg__item {
    position: relative;
    cursor: pointer;
}

.dm-seg__item input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.dm-seg__item span {
    display: block;
    min-width: 64px;
    padding: 6px 18px;
    border-radius: 6px;
    color: #606266;
    font-size: 14px;
    text-align: center;
    transition: background .18s, color .18s, box-shadow .18s;
}

.dm-seg__item input:checked + span {
    background: #fff;
    color: #ff2d51;
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(20, 24, 35, .12);
}

.dm-seg__item input:focus-visible + span {
    box-shadow: 0 0 0 3px rgba(255, 45, 81, .12);
}

/* 原生下拉：隐藏控件本体，用文字层与箭头显示 */
.dm-select {
    position: relative;
    height: 42px;
    border: 1px solid #e4e7ed;
    border-radius: 8px;
    background: #fff;
    transition: border-color .18s, box-shadow .18s;
}

.dm-select:hover {
    border-color: #d3d7e0;
}

.dm-select:focus-within {
    border-color: #ff2d51;
    box-shadow: 0 0 0 3px rgba(255, 45, 81, .1);
}

.dm-select__control {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.dm-select__text {
    display: block;
    padding: 0 38px 0 14px;
    line-height: 40px;
    color: #1a1a1a;
    font-size: 14px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.dm-select__caret {
    position: absolute;
    top: 12px;
    right: 13px;
    width: 17px;
    height: 17px;
    color: #b4b8c2;
    pointer-events: none;
}

/* ---------------- 按钮 */

.dm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    padding: 0 26px;
    border: 0;
    border-radius: 21px;
    font: inherit;
    font-size: 14px;
    cursor: pointer;
    text-decoration: none;
    transition: filter .18s, background .18s, border-color .18s, color .18s;
}

.dm-btn--primary {
    background: linear-gradient(90deg, #ff2d51, #ff6a3d);
    color: #fff;
    font-weight: 600;
    box-shadow: 0 6px 16px rgba(255, 45, 81, .24);
}

.dm-btn--primary:hover {
    filter: brightness(1.05);
}

.dm-btn--ghost {
    border: 1px solid #e4e7ed;
    background: #fff;
    color: #606266;
}

.dm-btn--ghost:hover {
    border-color: #ff2d51;
    color: #ff2d51;
}

/* ---------------- 账号安全概览 */

.dm-overview {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 16px;
}

.dm-overview__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(20, 24, 35, .04), 0 8px 24px rgba(20, 24, 35, .06);
}

.dm-overview__ico {
    flex: none;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #f4f6f9;
    color: #9aa0ac;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dm-overview__ico svg {
    width: 20px;
    height: 20px;
}

.dm-overview__item.is-ok .dm-overview__ico {
    background: #fff1f4;
    color: #ff2d51;
}

.dm-overview__meta {
    flex: 1;
    min-width: 0;
}

.dm-overview__label {
    margin: 0;
    color: #8a90a2;
    font-size: 12.5px;
}

.dm-overview__value {
    margin: 3px 0 0;
    color: #1a1a1a;
    font-size: 14px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.dm-overview__tag {
    flex: none;
    padding: 2px 9px;
    border-radius: 10px;
    background: #f4f6f9;
    color: #9aa0ac;
    font-size: 12px;
}

.dm-overview__item.is-ok .dm-overview__tag {
    background: #eefaf3;
    color: #1fa96b;
}

/* ---------------- 实名状态卡（个人信息页底部） */

.dm-card--auth {
    padding: 18px 22px;
}

.dm-auth {
    display: flex;
    align-items: center;
    gap: 14px;
}

.dm-auth__ico {
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #f4f6f9;
    color: #9aa0ac;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dm-card--auth.is-ok .dm-auth__ico {
    background: #fff1f4;
    color: #ff2d51;
}

.dm-auth__ico svg {
    width: 22px;
    height: 22px;
}

.dm-auth__text {
    flex: 1;
    min-width: 0;
}

.dm-auth__title {
    margin: 0;
    color: #1a1a1a;
    font-size: 15px;
    font-weight: 600;
}

.dm-auth__sub {
    margin: 4px 0 0;
    color: #8a90a2;
    font-size: 13px;
}

.dm-auth .dm-btn {
    flex: none;
    height: 38px;
    padding: 0 20px;
    border-radius: 19px;
}

/* ---------------- 购票人列表 */

.dm-blist__head,
.dm-blist__row {
    display: grid;
    grid-template-columns: 1.1fr .9fr 1.6fr 180px;
    align-items: center;
    gap: 12px;
    padding: 0 24px;
}

.dm-blist__head {
    height: 44px;
    border-bottom: 1px solid #f2f4f7;
    color: #9aa0ac;
    font-size: 12.5px;
}

.dm-blist__row {
    height: 64px;
    border-bottom: 1px solid #f7f8fa;
    font-size: 14px;
    color: #1a1a1a;
    transition: background .16s;
}

.dm-blist__row:last-child {
    border-bottom: 0;
}

.dm-blist__row:hover {
    background: #fafbfc;
}

.dm-blist__name {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
}

.dm-blist__ava {
    flex: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff1f4;
    color: #ff2d51;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dm-blist__cell {
    color: #4a4f5c;
}

.dm-blist__no {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px;
    letter-spacing: .3px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.dm-blist__acts {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.dm-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 10px;
    border: 0;
    border-radius: 6px;
    background: none;
    color: #4a4f5c;
    font: inherit;
    font-size: 13px;
    text-decoration: none;
    cursor: pointer;
    transition: background .16s, color .16s;
}

.dm-link svg {
    width: 14px;
    height: 14px;
}

.dm-link:hover {
    background: #fff1f4;
    color: #ff2d51;
}

.dm-link--danger:hover {
    background: #fef0f0;
    color: #e0334f;
}

.dm-inline-form {
    margin: 0;
}

/* 空态：site.css 里写死 1200 宽，进卡片后改成撑满 */
.dm-account .dm-empty,
.dm-card .dm-empty {
    width: auto;
}

.dm-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 56px 20px;
    color: #8a90a2;
}

.dm-empty svg {
    width: 46px;
    height: 46px;
    margin-bottom: 4px;
    color: #d3d7e0;
}

.dm-empty p {
    margin: 0;
    color: #4a4f5c;
    font-size: 15px;
}

.dm-empty span {
    font-size: 13px;
}

/* ---------------------------------------------------------------- 订单管理 */

/* 状态筛选：与页签同款的横排链接 */
.dm-otabs {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 14px;
    padding: 4px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(20, 24, 35, .04), 0 8px 24px rgba(20, 24, 35, .06);
}

.dm-otabs__item {
    flex: none;
    padding: 8px 18px;
    border-radius: 7px;
    color: #4a4f5c;
    font-size: 14px;
    text-decoration: none;
    transition: background .18s, color .18s;
}

.dm-otabs__item:hover {
    background: #fff5f6;
    color: #ff2d51;
}

.dm-otabs__item.is-active {
    background: #fff1f4;
    color: #ff2d51;
    font-weight: 600;
}

/* 单笔订单卡片 */
.dm-order {
    margin-bottom: 14px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(20, 24, 35, .04), 0 8px 24px rgba(20, 24, 35, .06);
    overflow: hidden;
}

.dm-order__head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 22px;
    border-bottom: 1px solid #f2f4f7;
    background: #fafbfc;
    font-size: 12.5px;
    color: #8a90a2;
}

.dm-order__no {
    color: #4a4f5c;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    letter-spacing: .3px;
}

.dm-order__state {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: auto;
    padding: 3px 10px;
    border-radius: 11px;
    font-size: 12.5px;
    font-weight: 600;
}

.dm-order__state svg {
    width: 14px;
    height: 14px;
}

.dm-order__state.is-s1 {
    background: #fff7e8;
    color: #e08c07;
}

.dm-order__state.is-s2 {
    background: #eefaf3;
    color: #1fa96b;
}

.dm-order__state.is-s3 {
    background: #f4f5f7;
    color: #8a90a2;
}

.dm-order__state.is-s4 {
    background: #eef1f7;
    color: #6b7a99;
}

.dm-order__body {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 22px;
}

.dm-order__pic {
    flex: none;
    display: block;
    width: 78px;
    height: 104px;
    border-radius: 8px;
    overflow: hidden;
    background: #f4f6f9;
}

.dm-order__pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dm-order__info {
    flex: 1;
    min-width: 0;
}

.dm-order__title {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.dm-order__title a {
    color: #1a1a1a;
    text-decoration: none;
}

.dm-order__title a:hover {
    color: #ff2d51;
}

.dm-order__meta {
    margin: 3px 0 0;
    color: #8a90a2;
    font-size: 13px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.dm-order__price {
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    padding-left: 12px;
}

.dm-order__amount {
    color: #ff2d51;
    font-size: 19px;
    font-weight: 700;
}

.dm-order__qty {
    color: #9aa0ac;
    font-size: 12.5px;
}

.dm-order__foot {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 22px;
    border-top: 1px solid #f2f4f7;
    background: #fcfcfd;
}

.dm-order__foot .dm-link {
    margin-right: auto;
}

/* 小号按钮：订单卡片底部用 */
.dm-btn--sm {
    height: 34px;
    padding: 0 18px;
    border-radius: 17px;
    font-size: 13px;
}

/* 空态里的按钮：site.css 的 .dm-empty a 会把链接染红，这里用更高优先级压回白字 */
.dm-account .dm-empty a.dm-empty__btn,
.dm-empty a.dm-empty__btn {
    margin-top: 12px;
    height: 38px;
    padding: 0 24px;
    border-radius: 19px;
    background: linear-gradient(90deg, #ff2d51, #ff6a3d);
    color: #fff;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 6px 16px rgba(255, 45, 81, .24);
}

.dm-account .dm-empty a.dm-empty__btn:hover,
.dm-empty a.dm-empty__btn:hover {
    color: #fff;
    filter: brightness(1.05);
}

/* 分页条在个人中心里的间距 */
.dm-account .pagination {
    margin-top: 18px;
}

/* 订单详情页：内容区本来就是 1200 固定宽，进了个人中心两栏后改成占满右列 */
.dm-account.order-detail-page[data-v-dbbc4a49] {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    width: 1200px;
    margin: 20px auto 0;
    background: none;
}

.dm-account.order-detail-page[data-v-dbbc4a49] .app-container {
    width: 100%;
    padding: 0;
}

.dm-account.order-detail-page[data-v-dbbc4a49] .dm-flash {
    margin: 0 0 12px;
}

/* ---------------------------------------------------------------- 实名认证卡 */

.dm-authcard__tag {
    margin-left: auto;
    padding: 3px 12px;
    border-radius: 11px;
    background: #f4f5f7;
    color: #8a90a2;
    font-size: 12.5px;
    font-weight: 600;
}

.dm-authcard[data-state="passed"] .dm-authcard__tag {
    background: #eefaf3;
    color: #1fa96b;
}

.dm-authcard[data-state="reviewing"] .dm-authcard__tag {
    background: #fff7e8;
    color: #e08c07;
}

/* 已通过：一行结果 + 申请修改 */
.dm-authcard__done {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    padding: 14px 18px;
    border-radius: 10px;
    background: #f6fdf9;
}

.dm-authcard__ok {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1fa96b;
    font-size: 15px;
    font-weight: 600;
}

.dm-authcard__ok svg {
    width: 20px;
    height: 20px;
}

.dm-authcard__done .dm-btn {
    margin-left: auto;
}

/* 只读信息行 */
.dm-authcard__info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 0 0 4px;
}

.dm-authcard__info > div {
    padding: 12px 16px;
    border-radius: 10px;
    background: #fafbfc;
}

.dm-authcard__info dt {
    color: #8a90a2;
    font-size: 12.5px;
}

.dm-authcard__info dd {
    margin: 4px 0 0;
    color: #1a1a1a;
    font-size: 14px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* 审核中：转圈 + 倒计时 */
.dm-authcard__review {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    padding: 16px 18px;
    border-radius: 10px;
    background: #fffaf0;
}

.dm-authcard__spinner {
    flex: none;
    width: 22px;
    height: 22px;
    border: 2px solid #ffd79a;
    border-top-color: #e08c07;
    border-radius: 50%;
    animation: dm-auth-spin .8s linear infinite;
}

@keyframes dm-auth-spin {
    to { transform: rotate(360deg); }
}

.dm-authcard__reviewtitle {
    margin: 0;
    color: #1a1a1a;
    font-size: 15px;
    font-weight: 600;
}

.dm-authcard__reviewsub {
    margin: 3px 0 0;
    color: #8a90a2;
    font-size: 13px;
}

.dm-authcard__reviewsub b {
    color: #e08c07;
    font-size: 15px;
}

/* 表单：收起时不留空隙 */
.dm-authcard__form[hidden] {
    display: none;
}

.dm-field__tip {
    margin: 6px 0 0;
    color: #9aa0ac;
    font-size: 12.5px;
}

/* ---------------------------------------------------------------- 实名提示条
   个人信息页底部：未认证用醒目的红橙提醒，审核中橙色，已通过绿色 */

.dm-authbanner {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 22px;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(20, 24, 35, .04), 0 8px 24px rgba(20, 24, 35, .06);
}

.dm-authbanner__ico {
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dm-authbanner__ico svg {
    width: 22px;
    height: 22px;
}

.dm-authbanner__text {
    flex: 1;
    min-width: 0;
}

.dm-authbanner__title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}

.dm-authbanner__sub {
    margin: 5px 0 0;
    font-size: 13.5px;
    line-height: 1.6;
}

.dm-authbanner__sub b {
    font-size: 15px;
}

/* 未实名的徽标与按钮左对齐，标题加粗放大 */
.dm-authbanner.is-warn {
    border: 1px solid #ffd9d9;
    background: linear-gradient(90deg, #fff4f1, #fff);
    color: #c8352a;
}

.dm-authbanner.is-warn .dm-authbanner__ico {
    background: #ffe4e0;
    color: #ff2d51;
}

.dm-authbanner.is-warn .dm-authbanner__sub {
    color: #a0493f;
}

.dm-authbanner.is-review {
    border: 1px solid #ffe2b8;
    background: linear-gradient(90deg, #fffaf0, #fff);
    color: #b5760a;
}

.dm-authbanner.is-review .dm-authbanner__ico {
    background: #fff0d6;
    color: #e08c07;
}

.dm-authbanner.is-review .dm-authbanner__sub {
    color: #8d6a2c;
}

.dm-authbanner.is-ok {
    border: 1px solid #d6f0e1;
    background: linear-gradient(90deg, #f4fdf8, #fff);
    color: #1a8a58;
}

.dm-authbanner.is-ok .dm-authbanner__ico {
    background: #e3f7ec;
    color: #1fa96b;
}

.dm-authbanner.is-ok .dm-authbanner__sub {
    color: #4f7a68;
}

.dm-authbanner .dm-btn {
    flex: none;
}

/* 侧栏用户卡片：审核中的徽标 */
.dm-user-card__badge.is-wait {
    background: #fff7e8;
    color: #b5760a;
    font-weight: 600;
}

/* 个人信息页：提现入口 */
.dm-walletentry {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 12px;
    padding: 14px 16px;
    border-radius: 10px;
    background: linear-gradient(120deg, #fff1f4, #fff7f2);
    color: #1d2129;
}

.dm-walletentry__ico {
    flex: none;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    color: #ff2d51;
}

.dm-walletentry__ico svg {
    width: 19px;
    height: 19px;
}

.dm-walletentry__text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dm-walletentry__text b {
    font-size: 14px;
}

.dm-walletentry__text i {
    color: #8a90a2;
    font-size: 12.5px;
    font-style: normal;
}

.dm-walletentry__arrow {
    flex: none;
    width: 15px;
    height: 15px;
    color: #c3c9d4;
}

/* 登录页左侧插画：每个商铺按站点名画，不再用固定图片 */
.app-container .main .login .main-left .dm-login-art {
    display: block;
    width: 640px;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
}

/* 登录页：整块背景用插画同款渐变，插画本身透明，不再像贴上去的一张图 */
.app-container .main[data-v-908a1707] {
    height: 600px;
    background:
        radial-gradient(120% 150% at 12% 0%, #4a1428 0%, #2a1020 42%, #1a0a12 72%, #12060c 100%);
}

.app-container .main .login .main-left .dm-login-art {
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

/* 实名页：提现银行卡分组提示 */
.dm-field__section {
    grid-column: 1 / -1;
    margin: 10px 0 2px;
    color: #8a90a2;
    font-size: 12px;
    line-height: 1.5;
}
