/* XH 快签 · shared red, white and charcoal visual system */
:root{--blue:#cb1e2d;--muted:#787878;--line:#e9e9e9;color:#1d1d1f;background:#f6f6f6;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
::selection{background:#f6d9dd;color:#171717}
button,input,select,textarea,a{outline-color:#cc2432}
.brand{font-size:22px;letter-spacing:-.5px;line-height:1.25}.brand small{font-size:10px;letter-spacing:2.6px;color:#8e8e8e;margin-top:7px}
.brand-icon{background:#ce1d2d;border-radius:11px;width:46px;height:46px;flex-shrink:0;font-size:20px;font-weight:800;letter-spacing:-2px;padding-right:2px}
.auth-wrap{max-width:1190px;margin:0 auto;padding:40px 32px 20px}
.auth-header{margin-bottom:38px;padding-bottom:26px;border-bottom:1px solid #e4e4e4}.header-tag{background:transparent;color:#777;font-size:12px;letter-spacing:1px}
.auth-grid{grid-template-columns:1.12fr 1fr;gap:0;border-radius:24px;overflow:hidden;align-items:stretch;background:#fff;border:1px solid #e7e7e7;box-shadow:0 18px 60px #00000005}
.auth-intro{position:relative;overflow:hidden;background:#202020;padding:48px 48px 44px;color:white}
.auth-kicker{display:flex;align-items:center;gap:10px;letter-spacing:3px;font-size:11px;color:#bdbdbd;margin-bottom:48px}.auth-kicker::before{content:"";width:22px;height:3px;background:#e73242}
.auth-intro h1{font-size:50px;line-height:1.3;font-weight:700;letter-spacing:-2px;margin-bottom:24px}.auth-intro h1 span{color:#fa5866}
.auth-intro p{color:#b9b9b9;font-size:14px;line-height:1.9;margin-bottom:38px}
.auth-intro .flow-item{margin:0;padding:17px 0;align-items:center;border-top:1px solid #3c3c3c}.auth-intro .step{background:transparent;color:#e75a65;border-radius:0;font-size:12px;width:28px;height:24px}.auth-intro .flow-item strong{color:#ddd;font-size:13px;font-weight:400}
.auth-grid .login-card{border:0;border-radius:0;max-width:none;margin:0;display:flex;align-items:center}.auth-grid .form-pad{padding:46px 44px;width:100%}
.login-kicker{font-size:11px;color:#b91d2b;letter-spacing:2px;margin-bottom:14px;font-weight:600}.login-card h2{font-size:27px;letter-spacing:-.7px;margin-bottom:12px}.login-subtitle{font-size:13px;color:#888;margin:0 0 30px}
.login-card .field{margin-bottom:20px;font-size:13px;color:#555;gap:10px}
.field input,.field select,.field textarea{background:#fafafa;border:1px solid #e4e4e4;border-radius:10px;color:#202020;min-height:48px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:#d65c67;box-shadow:0 0 0 3px #cf20300d;background:white}
.field input::placeholder,.field textarea::placeholder{color:#aaa}.field input:read-only{background:#f2f2f2}
.btn{border:1px solid #dedede;border-radius:10px;color:#333;min-height:42px;padding:11px 17px;transition:background .15s,transform .15s}.btn:hover{background:#f2f2f2}
.btn.primary{background:#cb1e2d;border-color:#cb1e2d;color:white}.btn.primary:hover{background:#b41523;border-color:#b41523}.btn.primary:active{transform:translateY(1px)}.login-card .btn.primary{min-height:49px}
.btn.danger{color:#bd1c2c;border-color:#ecced2;background:#fff9f9}.text-btn{color:#bd1b2a}
.help-line,.muted,.subtitle{color:#777}.login-card .help-line{font-size:12px;line-height:1.8;margin-top:23px}.auth-actions{gap:10px}.auth-actions .text-btn{font-size:12px}
.footer{color:#909090;font-size:11px;letter-spacing:.3px;padding:25px 0}
.sidebar{width:238px;padding:30px 18px;background:#202020;border:0;color:white}.sidebar .brand{padding:0 7px;margin-bottom:38px;font-size:21px}.sidebar .brand small{color:#9f9f9f}
.nav-label{font-size:11px;letter-spacing:1.5px;color:#949494;margin-bottom:15px}.nav{color:#bfbfbf;padding:14px 16px;border-radius:10px;margin:5px 0;font-size:13px}.nav:hover{background:#2c2c2c;color:white}.nav.active{background:#cd1f2e;color:white}
.sidebar-bottom{border-color:#3b3b3b}.sidebar .profile{color:#eee}.sidebar .profile small{font-size:11px;color:#999}.sidebar .avatar{background:#383838;color:#eee}
.topbar{height:82px;background:#fff;border-color:#e8e8e8}.crumb{color:#999}.crumb b{color:#333}.top-actions{gap:10px}.content{padding:34px 36px}
h1{font-size:29px;font-weight:700;letter-spacing:-1px}h2{font-size:17px;font-weight:650}.heading{margin-bottom:30px}
.stats{gap:18px}.stat{border-radius:16px;padding:24px;border:1px solid #e8e8e8;position:relative}.stat:nth-child(2){background:#fff4f5;border-color:#f0d8dc}.stat:nth-child(2) .stat-value{color:#c41e2d}
.stat-top{color:#727272;font-size:13px}.stat-value{font-size:38px;letter-spacing:-1.5px;font-weight:650;margin:17px 0 8px}.stat-value small{color:#999;font-size:12px;margin-left:9px}.stat-foot{color:#969696;font-size:11px}
.card{border-color:#e8e8e8;border-radius:16px;box-shadow:0 3px 10px #00000001}.card-head{padding:24px;border-color:#eee}.card-head p{color:#888}.dashboard-grid{gap:24px}
th{background:#fafafa;color:#888;font-size:12px;font-weight:400}td{color:#555;border-color:#f0f0f0;font-size:13px}td strong{color:#222}.person small{color:#999}tbody tr:hover{background:#fcfcfc}
.avatar{background:#f2f2f2;color:#555;border-radius:11px}.badge{border-radius:7px;background:#fff0f2;color:#b62131;padding:6px 10px}.badge.approved{background:#efefef;color:#303030}.badge.rejected{background:#fff0f2;color:#b62131}.badge.disabled{background:#f3f3f3;color:#8a8a8a}
.step{background:#fff0f2;color:#bd1c2c}.side-content{padding:24px}.flow-item strong{font-size:13px;font-weight:500}
.esign-card{background:#242424;border:0;padding:26px;color:white}.esign-card p{color:#b8b8b8}.esign-card .btn{background:#cd1f2e;border-color:#cd1f2e;color:white;border-radius:10px}.esign-card .btn:hover{background:#b81524}
.tab{color:#777;border-radius:8px;font-size:13px}.tab.active{background:#fff0f2;color:#bd1c2c}.search{border-color:#e4e4e4;border-radius:9px;font-size:13px}.search:focus{outline-color:#d65c67}.toolbar{border-color:#eee}
.empty{color:#999;padding:55px 20px;font-size:13px}.count-row{border-top:1px solid #eee}
.form-grid .wide h3{border-bottom:1px solid #eee;padding-bottom:15px;margin-top:10px}.form-grid .wide h3::before{content:"";display:inline-block;background:#cd1f2e;width:3px;height:14px;margin-right:10px;vertical-align:-1px;border-radius:2px}
.required{color:#cb1e2d}.field small{color:#888}.upload-box{border-color:#d5d5d5;background:#fafafa;color:#666;border-radius:12px}.note,.one-time-password{background:#f5f5f5;color:#555}
.demo-banner,.notice-local{background:#fff0f2;color:#9e3340;border-color:#f2d7dc}.status-panel p{color:#777}.status-panel h2{margin-top:18px}.status-panel .rejection,.form-error,.inline-error{color:#b41d2b}
.details dt{color:#888}.details dd{color:#333;overflow-wrap:anywhere}
dialog{color:#222;border-radius:18px;box-shadow:0 24px 100px #00000030}dialog::backdrop{background:#00000066}.dialog-header{border-color:#eee}.dialog-header button{color:#777}
.check-label input{accent-color:#cb1e2d}#toast{background:#232323;box-shadow:0 8px 30px #00000020;border-radius:12px}
@media(max-width:1200px){.sidebar{width:210px}.main{margin-left:210px}.content{padding:28px}.topbar{padding:0 28px}.auth-intro{padding:40px}.auth-grid .form-pad{padding:38px}.auth-intro h1{font-size:43px}}
@media(max-width:760px){.auth-wrap{padding:24px 18px 12px}.auth-header{margin-bottom:24px;padding-bottom:22px;gap:14px}.auth-header .brand{font-size:22px}.auth-header .brand small{font-size:9px;letter-spacing:1px}.header-tag{max-width:100px;text-align:right;font-size:11px;line-height:1.7;padding:0}.auth-grid{grid-template-columns:1fr;border-radius:20px}.auth-intro{padding:30px 28px}.auth-kicker{margin-bottom:22px;font-size:9px}.auth-intro h1{font-size:36px;letter-spacing:-1px;line-height:1.25;margin-bottom:15px}.auth-intro p{font-size:12px;line-height:1.8;margin:0}.auth-intro .flow-item{display:none}.auth-grid .form-pad{padding:30px 26px}.login-card h2{font-size:24px}.login-subtitle{margin-bottom:24px}.sidebar{width:238px}.main{margin:0}.content{padding:24px 18px}.topbar{height:66px;padding:0 14px}.top-actions{gap:7px}.top-actions .btn{font-size:12px;padding:8px 11px}.stat{padding:19px}.stat-value{font-size:34px}.heading h1{font-size:25px}.details{grid-template-columns:1fr}.form-actions .btn{flex:1}.auth-actions{gap:6px}.auth-actions .text-btn{font-size:11px}.card-head{padding:20px}.stats{gap:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.site-compliance{padding:16px 20px;text-align:center;background:#fff;border-top:1px solid #eee;color:#777;font-size:12px;line-height:1.8}.site-compliance a{color:inherit;text-decoration:none}.site-compliance a:hover{color:#bd1c2c;text-decoration:underline}
