@charset "utf-8";
/* ============================================================
   passport.css  —  登录 / 注册页样式
   与首页 modern.css 同一套设计语言（珊瑚红 + 深墨）
   仅作用于 user_passport.dwt，使用 uz- 前缀
   ============================================================ */

:root{
  --ink:#16182b;
  --ink-soft:#2a2d45;
  --muted:#7a7e92;
  --muted-2:#a6aab9;
  --line:#eceef3;
  --bg:#f4f5f8;
  --surface:#ffffff;
  --accent:#ff4d5a;
  --accent-2:#ff7a45;
  --accent-dark:#e8334a;
  --accent-soft:#fff1f2;
  --radius:16px;
  --radius-sm:10px;
  --shadow-sm:0 1px 2px rgba(20,20,40,.05);
  --shadow-md:0 10px 30px rgba(20,20,40,.08);
  --shadow-lg:0 24px 60px rgba(20,20,40,.14);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body.uz-page{
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  background:var(--bg);
  color:var(--ink);
  font-size:14px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.uz-page img{max-width:100%;display:block;}
.uz-page a{color:var(--ink);text-decoration:none;transition:color .2s var(--ease);}
.uz-page a:hover{color:var(--accent);}
.uz-page ul{margin:0;padding:0;list-style:none;}
.uz-page h1,.uz-page h2,.uz-page h3{margin:0;font-weight:800;}
.uz-page input,.uz-page button{font-family:inherit;}

/* ---------- 顶部条（复用简洁版） ---------- */
.uz-topbar{background:var(--ink);color:#c9ccd9;font-size:12px;}
.uz-topbar__inner{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:34px;}
.uz-topbar a{color:#c9ccd9;}
.uz-topbar a:hover{color:#fff;}
.uz-topbar__right{display:flex;gap:22px;}
.uz-topbar__right a{display:inline-flex;align-items:center;gap:5px;}
.uz-topbar__right a::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.7;}
.uz-topbar__left a{color:#fff;}
.uz-topbar__left a+a{margin-left:10px;}
.uz-topbar__left b{color:#ffcf57;}

/* ---------- 简洁 logo 头 ---------- */
.uz-minihead{background:var(--surface);border-bottom:1px solid var(--line);}
.uz-minihead__inner{max-width:1200px;margin:0 auto;padding:0 20px;height:72px;display:flex;align-items:center;justify-content:space-between;}
.uz-logo{display:flex;align-items:center;gap:12px;}
.uz-logo img{width:42px;height:42px;object-fit:contain;}
.uz-logo__text{display:flex;flex-direction:column;line-height:1.15;font-weight:800;font-size:19px;letter-spacing:.5px;}
.uz-logo__text small{font-size:9px;letter-spacing:2px;color:var(--muted-2);font-weight:600;margin-top:2px;}
.uz-backhome{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);padding:8px 16px;border-radius:20px;border:1px solid var(--line);background:#fff;}
.uz-backhome:hover{color:var(--accent);border-color:var(--accent);}

/* ---------- 主体双栏 ---------- */
.uz-main{flex:1;display:flex;align-items:stretch;justify-content:center;padding:32px 20px;}
.uz-cardwrap{display:grid;grid-template-columns:480px 1fr;max-width:1040px;width:100%;min-height:560px;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg);background:var(--surface);}

/* 左侧品牌区 */
.uz-brand{
  position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(150deg,#2a2150 0%,#1a1c30 55%,#16182b 100%);
  padding:56px 44px;display:flex;flex-direction:column;justify-content:space-between;
}
.uz-brand::before{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,77,90,.55),transparent 65%);filter:blur(2px);}
.uz-brand::after{content:"";position:absolute;left:-60px;bottom:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,122,69,.4),transparent 70%);}
.uz-brand__top{position:relative;z-index:2;}
.uz-brand__tag{display:inline-block;padding:5px 14px;border-radius:20px;font-size:11px;letter-spacing:2px;font-weight:600;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);margin-bottom:22px;}
.uz-brand__title{font-size:32px;line-height:1.3;letter-spacing:1px;margin-bottom:14px;text-shadow:0 2px 12px rgba(0,0,0,.3);}
.uz-brand__desc{font-size:14px;color:rgba(255,255,255,.78);line-height:1.8;margin:0;}
.uz-brand__features{position:relative;z-index:2;display:flex;flex-direction:column;gap:14px;margin-top:30px;}
.uz-brand__feature{display:flex;align-items:center;gap:12px;font-size:13px;color:rgba(255,255,255,.9);}
.uz-brand__feature .dot{flex-shrink:0;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));font-size:15px;}
.uz-brand__foot{position:relative;z-index:2;font-size:12px;color:rgba(255,255,255,.5);padding-top:20px;border-top:1px solid rgba(255,255,255,.12);}

/* 右侧表单区 */
.uz-formside{padding:48px 56px;display:flex;flex-direction:column;justify-content:center;}
.uz-formside--center{justify-content:center;}
.uz-form{width:100%;max-width:380px;margin:0 auto;}
.uz-form__head{margin-bottom:30px;}
.uz-form__title{font-size:26px;color:var(--ink);letter-spacing:.5px;margin-bottom:8px;}
.uz-form__subtitle{font-size:13px;color:var(--muted);margin:0;}

.uz-field{position:relative;margin-bottom:20px;}
.uz-field__label{display:block;font-size:13px;color:var(--ink-soft);font-weight:600;margin-bottom:8px;}
.uz-inputwrap{position:relative;display:flex;align-items:center;}
.uz-inputwrap__icon{position:absolute;left:16px;width:18px;height:18px;color:var(--muted-2);display:flex;align-items:center;justify-content:center;font-size:16px;pointer-events:none;}
.uz-input{
  width:100%;height:48px;border:1.5px solid var(--line);border-radius:12px;
  padding:0 16px 0 44px;font-size:14px;color:var(--ink);outline:none;background:var(--bg);
  transition:border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease);
}
.uz-input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px rgba(255,77,90,.1);}
.uz-input::placeholder{color:var(--muted-2);}

/* 校验提示（保留原 ID，仅做样式适配） */
.uz-field__notice{display:inline-block;margin-left:6px;font-size:12px;color:#ff4d5a;font-weight:600;vertical-align:middle;min-width:10px;}
.uz-field__row{display:flex;align-items:center;gap:6px;}

.uz-checkrow{display:flex;align-items:center;justify-content:space-between;margin:4px 0 22px;font-size:13px;color:var(--muted);}
.uz-checkrow label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;}
.uz-checkrow input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;}
.uz-checkrow a{color:var(--muted);}
.uz-checkrow a:hover{color:var(--accent);}

.uz-btn{
  display:flex;align-items:center;justify-content:center;width:100%;height:50px;border:none;border-radius:12px;
  font-size:15px;font-weight:700;letter-spacing:1px;cursor:pointer;color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  box-shadow:0 8px 20px rgba(255,77,90,.35);
  transition:transform .15s var(--ease),box-shadow .2s var(--ease);
}
.uz-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(255,77,90,.5);}
.uz-btn:active{transform:translateY(0);}
.uz-btn input{display:none;}

.uz-switch{text-align:center;margin-top:24px;font-size:14px;color:var(--muted);}
.uz-switch a{color:var(--accent);font-weight:600;margin-left:6px;}
.uz-switch a:hover{text-decoration:underline;}

/* 关闭注册提示 */
.uz-closed{padding:30px 0;text-align:center;color:var(--muted);font-size:15px;}

/* 协议链接 */
.uz-agree{margin-top:18px;margin-bottom:22px;}
.uz-agree label{display:inline-flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--muted);cursor:pointer;line-height:1.6;}
.uz-agree input[type=checkbox]{flex-shrink:0;width:15px;height:15px;margin-top:2px;accent-color:var(--accent);cursor:pointer;}
.uz-agree a{color:var(--accent);}

/* ---------- 底部占位（footer 由库文件提供） ---------- */
.uz-footer-spacer{height:40px;}

/* ---------- 加载动画 ---------- */
@keyframes uzFadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.uz-brand{animation:uzFadeUp .5s var(--ease) both;}
.uz-formside{animation:uzFadeUp .5s var(--ease) .08s both;}

/* ---------- 响应式 ---------- */
@media (max-width:960px){
  .uz-cardwrap{grid-template-columns:1fr;min-height:auto;max-width:460px;}
  .uz-brand{padding:40px 32px;}
  .uz-brand__title{font-size:26px;}
  .uz-brand__features{display:none;}
  .uz-formside{padding:40px 28px;}
}
@media (max-width:520px){
  .uz-main{padding:16px 12px;}
  .uz-cardwrap{border-radius:18px;}
  .uz-formside{padding:32px 22px;}
  .uz-form__title{font-size:22px;}
  .uz-brand{padding:32px 26px;}
  .uz-brand__title{font-size:22px;}
  .uz-minihead__inner{height:60px;}
  .uz-logo img{width:36px;height:36px;}
  .uz-logo__text{font-size:16px;}
}

/* ---------- mz-footer（与首页统一风格） ---------- */
.mz-footer{background:var(--ink);color:#9a9eb3;margin-top:0;}
.mz-footer__top{padding:48px 0 36px;}
.mz-footer__inner{max-width:1200px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:repeat(7,1fr) 1.9fr;gap:24px;}
.mz-footer__col h4{color:#fff;font-size:14px;font-weight:600;margin-bottom:16px;}
.mz-footer__col li{margin-bottom:10px;}
.mz-footer__col a{color:#9a9eb3;font-size:13px;}
.mz-footer__col a:hover{color:var(--accent);}
.mz-footer__contact{border-left:1px solid rgba(255,255,255,.08);padding-left:28px;}
.mz-footer__contact .mz-footer__phone{font-size:22px;font-weight:800;color:#fff;letter-spacing:.5px;margin-bottom:6px;}
.mz-footer__contact .mz-footer__time{font-size:12px;color:#7a7e92;margin-bottom:18px;line-height:1.6;}
.mz-footer__qq{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:24px;background:var(--accent);color:#fff;font-weight:600;font-size:13px;}
.mz-footer__qq:hover{background:var(--accent-dark);color:#fff;}
.mz-footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 20px 30px;}
.mz-footer__legal{max-width:1200px;margin:0 auto;text-align:center;font-size:12px;color:#7a7e92;line-height:2;}
.mz-footer__legal a{color:#9a9eb3;margin:0 4px;}
.mz-footer__legal a:hover{color:var(--accent);}
.mz-footer__legal .icp{display:inline-flex;align-items:center;gap:6px;}
.mz-footer__legal .icp img{width:18px;height:18px;}
.mz-footer__auth{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:14px;}
.mz-footer__auth a{font-size:12px;color:#7a7e92;padding:4px 0;}
.mz-footer__auth a:hover{color:#9a9eb3;}
@media (max-width:980px){
  .mz-footer__inner{grid-template-columns:repeat(4,1fr);}
  .mz-footer__contact{border-left:none;padding-left:0;border-top:1px solid rgba(255,255,255,.08);padding-top:24px;}
}
@media (max-width:680px){
  .mz-footer__inner{grid-template-columns:repeat(2,1fr);}
}
