/* ===================================================================
   元科悦机械加工物料仓储管控系统 - 登录/注册页样式
   风格：数控蓝 × 琥珀金 工业科技风（原创界面语言）
   系统研发：孔涵琳
   =================================================================== */

.auth-body{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(1100px 600px at 85% -10%,rgba(46,116,240,.22),transparent 55%),
    radial-gradient(900px 500px at -10% 110%,rgba(242,163,60,.14),transparent 50%),
    linear-gradient(160deg,#070D1A 0%,#0A1324 45%,#0D1B33 100%);
  font-family:var(--font);color:var(--gray-900);
  position:relative;overflow:hidden;
}
.auth-body::before{
  content:"";position:fixed;inset:0;pointer-events:none;opacity:.5;
  background-image:
    linear-gradient(rgba(120,160,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(120,160,255,.05) 1px,transparent 1px);
  background-size:34px 34px;
}

/* ============================ 布局 ============================ */
.auth-wrap{
  position:relative;z-index:2;width:min(1060px,94vw);
  min-height:600px;display:flex;border-radius:22px;overflow:hidden;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 40px 100px -24px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
}

/* ============================ 左侧品牌区 ============================ */
.auth-side{
  width:46%;position:relative;display:flex;flex-direction:column;padding:38px 40px;
  background:
    radial-gradient(600px 300px at 120% -10%,rgba(46,116,240,.25),transparent 60%),
    radial-gradient(500px 300px at -20% 120%,rgba(242,163,60,.16),transparent 55%),
    linear-gradient(180deg,var(--ink-950),#0B1729);
  border-right:1px solid rgba(255,255,255,.07);
  overflow:hidden;
}
.auth-side::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.4;
  background-image:
    linear-gradient(rgba(120,160,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(120,160,255,.05) 1px,transparent 1px);
  background-size:26px 26px;
}
.auth-side-top{display:flex;align-items:center;gap:13px;position:relative;z-index:2}
.brand-mark.lg{width:46px;height:46px;border-radius:13px;font-size:20px}
.auth-side-top .b1{font-size:16px;font-weight:800;color:#fff;letter-spacing:.5px}
.auth-side-top .b2{font-size:10.5px;color:#6E82A6;letter-spacing:1.4px;margin-top:2px}
.auth-side-mid{flex:1;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.auth-side-mid h1{
  font-size:30px;line-height:1.35;color:#fff;font-weight:800;letter-spacing:1px;margin:0 0 14px;
}
.auth-side-mid h1 em{font-style:normal;color:var(--amber-400)}
.auth-side-mid .sub{font-size:13px;color:#8FA3C6;line-height:1.9;margin-bottom:30px}
.auth-feats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.auth-feats li{
  display:flex;align-items:center;gap:12px;font-size:13px;color:#C7D2E6;
  padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
}
.auth-feats li i{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;color:var(--amber-400);background:rgba(242,163,60,.14)}
.auth-side-foot{position:relative;z-index:2;margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}
.auth-side-foot .comp{font-size:12px;color:#93A7CC;letter-spacing:.4px}
.auth-side-foot .dev{font-size:11px;color:#5C6F92;margin-top:5px}

/* ============================ 右侧表单区 ============================ */
.auth-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 44px;position:relative;z-index:2}
.auth-card{
  width:100%;max-width:380px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,251,254,.96));
  border-radius:18px;padding:34px 34px 26px;
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 24px 60px -18px rgba(0,0,0,.5),inset 0 1px 0 #fff;
  position:relative;overflow:hidden;
}
.auth-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--brand-500),var(--amber-400));
}
.auth-card-head h2{margin:0 0 6px;font-size:21px;font-weight:800;color:var(--ink-900)}
.auth-card-head p{margin:0 0 26px;font-size:12.5px;color:var(--muted)}

.auth-field{margin-bottom:18px}
.auth-field > label{display:block;font-size:12.5px;font-weight:600;color:var(--gray-700);margin-bottom:7px}
.label-row{display:flex;align-items:center;justify-content:space-between}
.label-row .link{font-size:12px;color:var(--brand-600);cursor:pointer}
.label-row .link:hover{text-decoration:underline}
.auth-input{
  position:relative;display:flex;align-items:center;
}
.auth-input i{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:14px;z-index:1;
}
.auth-input input{
  width:100%;border:1.5px solid var(--gray-200);border-radius:11px;padding:12px 14px 12px 40px;
  font-size:13.5px;color:var(--gray-900);background:#FBFCFE;outline:none;transition:.18s;box-shadow:inset 0 1px 2px rgba(16,24,40,.04);
}
.auth-input input:focus{border-color:var(--brand-400);background:#fff;box-shadow:0 0 0 4px rgba(76,140,255,.14),inset 0 1px 2px rgba(16,24,40,.03)}
.auth-input input::placeholder{color:var(--gray-300)}
.auth-input.valid i{color:var(--ok)}
.auth-input.invalid{border-color:var(--danger)}

.auth-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.chk{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--gray-500);cursor:pointer;user-select:none}
.chk input{accent-color:var(--brand-600);width:14px;height:14px;cursor:pointer}

.auth-btn{
  width:100%;display:flex;align-items:center;justify-content:center;gap:10px;
  border:0;border-radius:11px;padding:13px;font-size:14.5px;font-weight:700;color:#fff;cursor:pointer;
  background:linear-gradient(135deg,var(--brand-500),var(--brand-600));
  box-shadow:0 8px 20px -6px rgba(27,95,217,.55);
  transition:.18s;letter-spacing:4px;
}
.auth-btn:hover{filter:brightness(1.08);box-shadow:0 10px 26px -6px rgba(27,95,217,.65);transform:translateY(-1px)}
.auth-btn:active{transform:translateY(0) scale(.99)}
.auth-btn i{letter-spacing:0;transition:.2s}
.auth-btn:hover i{transform:translateX(3px)}
.auth-btn.loading{opacity:.75;pointer-events:none}
.auth-btn.loading i{animation:authSpin .8s linear infinite}

.auth-msg{display:none;margin-top:14px;padding:9px 12px;border-radius:9px;font-size:12.5px;line-height:1.6}
.auth-msg.show{display:block;animation:fadeUp .25s}
.auth-msg.err{background:var(--danger-100);color:#C22B30;border:1px solid #F8D3D4}
.auth-msg.ok{background:var(--ok-100);color:#14803B;border:1px solid #C9ECD3}

.auth-card-foot{
  margin-top:22px;padding-top:18px;border-top:1px dashed var(--gray-200);
  text-align:center;font-size:13px;color:var(--gray-500);
}
.auth-card-foot a{color:var(--brand-600);font-weight:600;margin-left:4px}
.auth-card-foot a:hover{text-decoration:underline}

.auth-main-foot{
  margin-top:26px;display:flex;align-items:center;gap:14px;font-size:11.5px;color:#5C6F92;
}
.auth-main-foot i{color:var(--amber-400)}
.auth-main-foot .dots{flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.1),rgba(255,255,255,.3),rgba(255,255,255,.1))}

/* 注册页网格（双列） */
.auth-field.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.auth-field.row2 .f2{min-width:0}
.auth-field.row2 .auth-input{margin-top:7px}
.reg-terms{font-size:11.5px;color:var(--muted);line-height:1.7;margin:-6px 0 18px}

@keyframes authSpin{to{transform:rotate(360deg)}}

@media(max-width:860px){
  .auth-side{display:none}
  .auth-main{padding:30px 24px}
}
