/* ============================================================
   城达 · 企业注册屏（应用内通用样式，2026-10-29 新增 2290）
   用途：客户端 APP 注册页 / 客户发货电脑端登录屏 / 企业端登录屏 共用
   说明：全部样式以 .rs- 前缀隔离，不污染各端既有主题；2026-10-29 起统一为浅色皮肤（全系统禁深底）
   ============================================================ */
.rs-screen{
  --rs-cyan:#0d94b0; --rs-blue:#2f7df6;
  --rs-txt:#10283a; --rs-sub:#516b80; --rs-dim:#7b93a7;
  --rs-line:rgba(15,110,180,.16); --rs-panel:#ffffff;
  position:relative; overflow:hidden; color:var(--rs-txt);
  background:
    radial-gradient(900px 420px at 50% -12%, rgba(47,125,246,.10), transparent 62%),
    radial-gradient(620px 340px at 6% 92%, rgba(13,148,176,.09), transparent 66%),
    linear-gradient(180deg,#fbfdff 0%,#f2f8fd 46%,#e8f2fb 100%);
  border-radius:16px;
}
.rs-screen::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(rgba(47,125,246,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47,125,246,.05) 1px, transparent 1px);
  background-size:52px 52px, 52px 52px;
  mask-image:radial-gradient(ellipse 80% 64% at 50% 30%, #000 40%, transparent 88%);
  -webkit-mask-image:radial-gradient(ellipse 80% 64% at 50% 30%, #000 40%, transparent 88%);
}
.rs-screen *{box-sizing:border-box}
.rs-wrap{position:relative; z-index:2; padding:22px}
.rs-head{display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-bottom:16px}
.rs-head .dot{width:7px; height:7px; border-radius:50%; background:var(--rs-cyan); box-shadow:0 0 10px rgba(13,148,176,.55); flex:0 0 auto}
.rs-head b{font-size:14.5px; letter-spacing:1.2px; font-weight:700}
.rs-head .live{
  font-size:11.5px; color:#0b7a4f; border:1px solid rgba(34,197,139,.38); border-radius:999px;
  padding:2px 9px; background:rgba(34,197,139,.12); white-space:nowrap
}
.rs-cols{display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start}
.rs-card{
  background:var(--rs-panel); border:1px solid var(--rs-line); border-radius:13px; padding:16px 16px 15px;
  box-shadow:0 2px 10px rgba(16,40,58,.06);
  transition:border-color .2s, box-shadow .2s; min-width:0
}
.rs-card.rs-flash{animation:rsPulse .82s ease 2; border-color:var(--rs-cyan)}
@keyframes rsPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(34,211,238,0)}
  50%{box-shadow:0 0 0 4px rgba(34,211,238,.26), 0 0 22px rgba(34,211,238,.18)}
}
.rs-ch{display:flex; align-items:center; gap:8px; margin-bottom:13px}
.rs-ch .ic{
  width:26px; height:26px; border-radius:8px; display:grid; place-items:center; font-size:13px; flex:0 0 auto;
  background:linear-gradient(135deg, rgba(47,125,246,.14), rgba(13,148,176,.14));
  border:1px solid rgba(15,110,180,.20)
}
.rs-ch b{font-size:15px; letter-spacing:1px; color:#10283a}
.rs-ch em{font-style:normal; font-size:11.5px; color:var(--rs-dim); letter-spacing:.3px}
.rs-ch .ln{flex:1; height:1px; background:linear-gradient(90deg, rgba(15,110,180,.22), transparent)}

.rs-f{margin-bottom:11px}
.rs-f label{display:block; font-size:12.5px; color:var(--rs-sub); margin-bottom:5px; letter-spacing:.3px}
.rs-f label .req{color:#ff5b5b; margin-left:3px}
.rs-in{
  width:100%; height:42px; padding:0 12px; border-radius:8px; font-size:14px; color:#10283a;
  border:1px solid #cfdce8; background:#ffffff; outline:none; display:block;
  transition:border-color .15s, box-shadow .15s, background .15s
}
.rs-in::placeholder{color:#9aabb9}
.rs-in:hover{border-color:#a8c6dc}
.rs-in:focus{border-color:#2f7df6; box-shadow:0 0 0 3px rgba(47,125,246,.14); background:#ffffff}
select.rs-in{
  appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:30px;
  background-image:
    linear-gradient(45deg, transparent 50%, #6d8499 50%),
    linear-gradient(135deg, #6d8499 50%, transparent 50%);
  background-position:calc(100% - 16px) 19px, calc(100% - 11px) 19px;
  background-size:5px 5px, 5px 5px; background-repeat:no-repeat;
  background-color:#ffffff
}
select.rs-in option{background:#ffffff; color:#10283a}
.rs-g2{display:grid; grid-template-columns:1fr 1fr; gap:10px}

.rs-btn{
  width:100%; height:44px; border:0; border-radius:10px; cursor:pointer;
  font-size:15px; font-weight:700; letter-spacing:2px; color:#04121f;
  background:linear-gradient(135deg,#22d3ee,#2f7df6); box-shadow:0 10px 24px rgba(34,190,238,.28);
  transition:filter .15s, transform .1s
}
.rs-btn:hover{filter:brightness(1.06)}
.rs-btn:active{transform:translateY(1px)}
.rs-btn:disabled{opacity:.6; cursor:not-allowed; filter:none}
.rs-btn.gh{
  background:#ffffff; border:1px solid rgba(15,110,180,.28); color:#0b5f9e;
  font-weight:500; letter-spacing:1px; box-shadow:none; height:40px; margin-top:8px
}
.rs-btn.gh:hover{background:rgba(47,125,246,.07); border-color:#2f7df6}

.rs-err{
  display:none; margin-top:9px; padding:9px 11px; border-radius:9px; font-size:12.5px; line-height:1.6;
  color:#a3201f; background:#fff2f1; border:1px solid #f2b8b4
}
.rs-err.on{display:block}
.rs-hint{font-size:11.5px; color:var(--rs-dim); line-height:1.7; margin-top:9px; text-align:center}
.rs-hint b{color:#0b5f9e}

.rs-up{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.rs-upb{
  height:36px; padding:0 14px; border-radius:9px; cursor:pointer; font-size:12.5px; color:#0b6b8a;
  background:rgba(13,148,176,.08); border:1px dashed rgba(13,148,176,.42)
}
.rs-upb:hover{background:rgba(13,148,176,.16)}
.rs-upb:disabled{opacity:.6; cursor:not-allowed}
.rs-up .tip{font-size:11.5px; color:var(--rs-dim)}
.rs-thumbs{display:flex; gap:8px; flex-wrap:wrap; margin-top:9px}
.rs-thumb{position:relative; width:64px; height:64px; border-radius:8px; overflow:hidden; border:1px solid rgba(15,110,180,.18)}
.rs-thumb img{width:100%; height:100%; object-fit:cover; display:block}
.rs-thumb button{
  position:absolute; right:2px; top:2px; width:18px; height:18px; border-radius:50%; border:0;
  background:rgba(0,0,0,.62); color:#fff; font-size:12px; line-height:1; cursor:pointer; padding:0
}

.rs-note{
  font-size:12px; color:var(--rs-sub); line-height:1.75; padding:9px 11px; border-radius:9px;
  background:#f1f8fd; border:1px solid rgba(15,110,180,.16); margin-bottom:11px
}
.rs-note b{color:#0b5f9e}
.rs-tiles{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:10px 0}
.rs-tile{background:#f5f9fd; border:1px solid rgba(15,110,180,.14); border-radius:9px; padding:8px 9px; min-width:0}
.rs-tile .k{font-size:11px; color:var(--rs-dim)}
.rs-tile .v{font-size:12.5px; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.rs-lic{
  font-size:11.5px; color:var(--rs-sub); line-height:1.85; padding:9px 11px; border-radius:9px;
  background:#f7fafc; border:1px dashed rgba(15,110,180,.18)
}
.rs-lic b{color:#0b5f9e}

.rs-ok{display:none; text-align:center; padding:24px 10px}
.rs-ok .ic{
  width:52px; height:52px; margin:0 auto 12px; border-radius:50%; display:grid; place-items:center;
  font-size:26px; color:#04301f; background:linear-gradient(135deg,#22c58b,#22d3ee)
}
.rs-ok h3{margin:0 0 6px; font-size:17px; color:#10283a}
.rs-ok .no{font-size:12.5px; color:#0b7a4f; margin-bottom:10px}
.rs-ok p{font-size:12.5px; color:var(--rs-sub); line-height:1.8; margin:0 0 14px}
.rs-ok .acts{display:flex; gap:10px; justify-content:center; flex-wrap:wrap}
.rs-ok .acts .rs-btn{width:auto; padding:0 20px; height:40px; font-size:13.5px; letter-spacing:1px}

.rs-steps{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:14px; font-size:11.5px; color:var(--rs-dim)}
.rs-step{
  display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border-radius:999px;
  border:1px solid rgba(15,110,180,.14); background:#f5f9fd; line-height:1.4
}
.rs-step i{font-style:normal; color:var(--rs-cyan)}
.rs-step.last{border-color:rgba(34,197,139,.4); color:#0b7a4f; background:rgba(34,197,139,.12)}
.rs-arrow{color:rgba(15,110,180,.38)}

/* ---------- 整页登录式（司机端 / 员工端 / 先锋小哥端 / 制造业端移动版） ---------- */
.rs-page{min-height:calc(100vh - 132px); border-radius:18px}
.rs-page .rs-wrap{padding:18px 15px 22px}
.rs-page .rs-f{margin-bottom:12px}
.rs-page .rs-f label{font-size:13px}
/* 滑动登录条：与浅色面板一致（压过 mobile.css 的主题覆盖） */
.rs-page .rs-card .slider-ok{background:#f2f7fc; border:1px solid #cfdce8}
.rs-page .rs-card .slider-ok .sl-tip{color:#516b80}
.rs-page .rs-card .slider-ok .sl-btn{
  background:linear-gradient(135deg,#22d3ee,#2f7df6); color:#04121f; border:0;
  box-shadow:0 6px 16px rgba(34,190,238,.3)
}
.rs-page .rs-card .slider-ok.done{background:rgba(34,197,139,.16); border-color:rgba(34,197,139,.55)}
.rs-page .rs-card .slider-ok.done .sl-btn{background:linear-gradient(135deg,#12a06f,#0b6b4a); color:#eafff6}
/* 面板内的普通链接（重建老板账号等） */
.rs-page .rs-link{color:#0b5f9e; text-decoration:underline; font-size:12.5px}
.rs-page .rs-kv{font-size:12.5px; color:var(--rs-sub); line-height:1.85; text-align:center}
.rs-page .rs-kv b{color:#0b5f9e}
/* 制造业端登录遮罩双栏：面板尺寸 */
#loginMask .login-screen{width:min(1120px,96vw); max-height:calc(100vh - 28px); overflow:auto}
/* 错误条 / 续费块：浅底上用深红字，保证可读 */
#loginMask .errbox{background:#fff2f1; border-color:#f2b8b4; color:#8a1f1a}
#loginMask .renew-block{background:#fff8f7; border-color:#f2b8b4}
#loginMask .renew-block .renew-msg{color:#8a1f1a}
#loginMask .renew-block .rs-btn{letter-spacing:1px}

@media (max-width:980px){
  .rs-cols{grid-template-columns:1fr}
  .rs-wrap{padding:16px}
  .rs-page{min-height:0}
}
@media (max-width:560px){
  .rs-g2{grid-template-columns:1fr}
  .rs-tiles{grid-template-columns:1fr}
  .rs-wrap{padding:12px}
  .rs-card{padding:14px 13px}
}
