/*!
 * KTG-MES 移动端 SCSS 变量定义
 * 方案 B「钛金精密」：钛灰白 × 工业橙，瑞士精密仪器质感
 * 参照 variables 在 vue.config.js 中 prependData 自动注入所有 .scss 文件
 */.login-page[data-v-5e8bfaa5]{min-height:100vh;min-height:100dvh;background:linear-gradient(160deg,#dfe2e7,#e7e9ec 40%,#e7e9ec);display:flex;justify-content:center;padding:1rem .8rem;box-sizing:border-box;position:relative;overflow:hidden}.login-page[data-v-5e8bfaa5]:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(26,29,33,.04) 1px,transparent 0),linear-gradient(90deg,rgba(26,29,33,.04) 1px,transparent 0);background-size:1.8667rem 1.8667rem;mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 70%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 70%)}.login-container[data-v-5e8bfaa5]{width:100%;max-width:500px;display:flex;flex-direction:column;align-items:center;margin:auto;position:relative;z-index:1}.brand-section[data-v-5e8bfaa5]{text-align:center;margin-bottom:.8rem}.brand-section .brand-icon[data-v-5e8bfaa5]{width:2.4rem;height:2.4rem;margin:0 auto .4rem;background:linear-gradient(145deg,#f2f3f5,#c8cdd2);border:1px solid #aeb4ba;border-radius:.16rem;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 0 #fff,0 3px 8px rgba(26,29,33,.18);clip-path:polygon(0 0,calc(100% - .2667rem) 0,100% .2667rem,100% 100%,.2667rem 100%,0 calc(100% - .2667rem))}.brand-section .brand-icon i[data-v-5e8bfaa5]{font-size:1.2rem;color:#ff6b35}.brand-section .brand-title[data-v-5e8bfaa5]{font-size:.96rem;font-weight:700;color:#1a1d21;margin:0 0 .12rem;letter-spacing:.1em}.brand-section .brand-subtitle[data-v-5e8bfaa5]{font-size:.347rem;color:#6b7075;margin:0;letter-spacing:.18em}.role-tabs[data-v-5e8bfaa5]{display:flex;width:100%;background:#f5f6f7;border:1px solid #c9cdd3;border-radius:.107rem;overflow:hidden;margin-bottom:.4rem}.role-tabs .role-tab[data-v-5e8bfaa5]{flex:1;text-align:center;padding:.2rem 0;font-size:.4rem;color:#3a3f45;border-right:1px solid #c9cdd3;transition:all .2s;letter-spacing:.15em}.role-tabs .role-tab[data-v-5e8bfaa5]:last-child{border-right:none}.role-tabs .role-tab.active[data-v-5e8bfaa5]{background:linear-gradient(180deg,#ff8552,#ff6b35 40%,#e85a24);color:#fff;font-weight:700}.form-card[data-v-5e8bfaa5]{width:100%;background:#fff;border:1px solid #c9cdd3;border-radius:.107rem;padding:.64rem .64rem .8rem;box-shadow:0 4px 14px rgba(26,29,33,.1);position:relative}.form-card[data-v-5e8bfaa5]:before{content:"";position:absolute;top:0;left:0;width:1.2rem;height:.107rem;background:#ff6b35}.form-card .form-label[data-v-5e8bfaa5]{font-size:.373rem;color:#3a3f45;font-weight:600;letter-spacing:.08em}[data-v-5e8bfaa5] .el-form-item{margin-bottom:.5rem}[data-v-5e8bfaa5] .el-input__inner{height:1.1rem;line-height:1.1rem;font-size:.4rem;border-radius:.24rem}[data-v-5e8bfaa5] .el-input__prefix{left:.2rem;font-size:.48rem;line-height:1.1rem}[data-v-5e8bfaa5] .el-input__suffix{right:.2rem}[data-v-5e8bfaa5] .el-input--prefix .el-input__inner{padding-left:.8rem}.password-toggle[data-v-5e8bfaa5]{line-height:1.1rem;font-size:.48rem;color:#aeb4ba;cursor:pointer}.password-toggle[data-v-5e8bfaa5]:active{color:#ff6b35}.captcha-row[data-v-5e8bfaa5]{display:flex;align-items:center;gap:.32rem}.captcha-row .captcha-input[data-v-5e8bfaa5]{flex:1}.captcha-row .captcha-img[data-v-5e8bfaa5]{width:2.4rem;height:1.2rem;border-radius:.16rem;overflow:hidden;border:1px solid #c9cdd3;flex-shrink:0;cursor:pointer}.captcha-row .captcha-img img[data-v-5e8bfaa5]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.captcha-row .captcha-placeholder[data-v-5e8bfaa5]{width:2.4rem;height:1.2rem;border-radius:.16rem;border:1px dashed #c9cdd3;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;color:#aeb4ba;font-size:.32rem;gap:.05rem}.captcha-row .captcha-placeholder i[data-v-5e8bfaa5]{font-size:.48rem}.login-btn[data-v-5e8bfaa5]{width:100%;height:1.1rem;font-size:.42rem;font-weight:700;letter-spacing:.3em;border:none;color:#fff;background:linear-gradient(180deg,#ff8552,#ff6b35 40%,#e85a24);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),0 4px 12px rgba(255,107,53,.4);margin-top:.16rem;clip-path:polygon(.2667rem 0,100% 0,100% calc(100% - .2667rem),calc(100% - .2667rem) 100%,0 100%,0 .2667rem)}.register-row[data-v-5e8bfaa5]{text-align:center;margin-top:.5rem;padding:.16rem;cursor:pointer}.register-row .register-text[data-v-5e8bfaa5]{font-size:.373rem;color:#6b7075}.register-row .register-link[data-v-5e8bfaa5]{font-size:.373rem;color:#e85a24;font-weight:600}