/* 小满公考登录统一样式:学生/教务/校长三端共用。 */
.xa-page{margin:0;background:#F1E9D9}
.xa{font-family:'Noto Sans SC',-apple-system,'PingFang SC',sans-serif;display:flex;width:100%;min-height:100vh;background:#F1E9D9;color:#2A2C38;overflow:hidden}
.xa-brand{flex:1.05;min-width:0;position:relative;overflow:hidden;background:#15224F;color:#fff;display:flex;flex-direction:column;padding:52px 56px}
.xa-brand .tex,.xa-brand .geo{position:absolute;pointer-events:none}
.xa-brand .tex{inset:0;width:100%;height:100%;opacity:.06}
.xa-brand .geo{right:-130px;bottom:-90px;opacity:.05}
.xa-logo{position:relative;display:flex;align-items:center;gap:11px}
.xa-logo b{font-weight:900;font-size:18px;letter-spacing:.01em;color:#fff}
.xa-logo .badge{font-size:11px;font-weight:700;color:#ECCA81;border:1px solid rgba(236,202,129,.4);border-radius:999px;padding:2px 9px}
.xa-claim{position:relative;margin:auto 0;padding:40px 0}
.xa-claim .ey{font-size:12px;font-weight:800;letter-spacing:.22em;color:#ECCA81;text-transform:uppercase}
.xa-claim .ey::before{display:none}
.xa-claim h1{font-family:'Noto Serif SC',serif;font-size:clamp(40px,5vw,58px);font-weight:900;line-height:1.15;margin:18px 0 0;letter-spacing:.02em;color:#fff}
.xa-claim h1 .g{color:#ECCA81}
.xa-claim p{font-size:15px;line-height:1.9;color:rgba(255,255,255,.72);max-width:36ch;margin:22px 0 0}
.xa-stats{display:flex;flex-wrap:wrap;margin-top:32px}
.xa-stats>div{padding-right:26px;margin-right:26px;border-right:1px solid rgba(255,255,255,.16)}
.xa-stats>div:last-child{padding-right:0;margin-right:0;border-right:none}
.xa-stats .n{font-family:'Noto Serif SC',serif;font-size:26px;font-weight:900;line-height:1.08;color:#fff;white-space:nowrap}
.xa-stats .n s{font-size:14px;color:#ECCA81;text-decoration:none}
.xa-stats .n-copy{font-size:22px}
.xa-stats .l{font-size:12px;color:rgba(255,255,255,.6);margin-top:5px}
.xa-pts{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-direction:column;gap:11px;max-width:390px}
.xa-pts li{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.82);font-size:14px;font-weight:700;line-height:1.5}
.xa-pts li svg{width:18px;height:18px;color:#ECCA81;flex:0 0 auto}
.xa-icp{position:relative;font-size:12px;color:rgba(255,255,255,.45)}
.xa-form{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px 40px;background:#F6EFE1}
.xa-form .box,.xa-card{width:100%;max-width:380px}
.xa-h{font-family:'Noto Serif SC',serif;font-size:27px;font-weight:900;color:#15224F;line-height:1.25}
.xa-sub{font-size:13.5px;color:#6D6A63;margin-top:7px;line-height:1.7}
.xa-tabs{display:flex;gap:5px;background:#EFE5D2;border-radius:999px;padding:5px;margin:26px 0 24px}
.xa-tabs button{flex:1;height:40px;border:0;border-radius:999px;background:transparent;color:#9A938A;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit;transition:background .18s,color .18s,box-shadow .18s,transform .18s}
.xa-tabs button.active{background:#FFFDF8;color:#15224F;box-shadow:0 2px 6px rgba(21,34,79,.08)}
.xa-tabs button:active{transform:scale(.98)}
.xa-pane[hidden],.xa-fld .eye [hidden]{display:none!important}
.xa-lbl{font-size:12.5px;font-weight:700;color:#15224F;margin-bottom:7px;display:flex;align-items:center;justify-content:space-between}
.xa-fld{height:48px;border:1px solid #D9CFB8;border-radius:10px;background:#fff;display:flex;align-items:center;gap:10px;padding:0 15px;margin-bottom:16px;transition:border-color .15s,background .15s}
.xa-fld:focus-within{border-color:#C0923A}
.xa-fld svg{flex:0 0 auto;color:#9A938A}
.xa-fld input,.xa-fld input:focus{flex:1;min-width:0;border:0;outline:0;background:transparent;box-shadow:none;padding:0;font-size:14.5px;color:#2A2C38;font-family:inherit}
.xa-fld .eye{cursor:pointer;color:#9A938A;background:none;border:0;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:8px;transition:color .15s,background .15s}
.xa-fld .eye:hover{color:#15224F;background:#F6EFE1}
.xa-fld .eye svg{width:19px;height:19px}
.xa-link{font-size:12px;color:#2750DD;font-weight:600;cursor:pointer}
.xa-remember{display:flex;align-items:center;gap:9px;margin-bottom:22px;font-size:13.5px;color:#2A2C38;cursor:pointer}
.xa-remember input{position:absolute;opacity:0;width:0;height:0}
.xa-remember .bx{width:18px;height:18px;border-radius:5px;border:1.5px solid #C0923A;background:#fff;display:grid;place-items:center}
.xa-remember .bx svg{opacity:0}
.xa-remember input:checked+.bx{background:#2750DD;border-color:#2750DD}
.xa-remember input:checked+.bx svg{opacity:1}
.xa-cta{width:100%;height:50px;border:0;border-radius:10px;background:#15224F;color:#fff;font-size:15.5px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 8px 20px -10px rgba(21,34,79,.5);transition:transform .16s,box-shadow .16s,filter .16s,background .16s}
.xa-cta.gold{background:#C0923A}
.xa-cta:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 13px 24px -14px rgba(21,34,79,.68)}
.xa-cta:active{transform:translateY(0);filter:brightness(.98);box-shadow:0 7px 18px -13px rgba(21,34,79,.58)}
.xa-cta:disabled{filter:saturate(.5);cursor:default;transform:none;box-shadow:0 8px 20px -10px rgba(21,34,79,.35)}
.xa-div{display:flex;align-items:center;gap:12px;margin:24px 0}
.xa-div span:first-child,.xa-div span:last-child{flex:1;height:1px;background:#E3DAC8}
.xa-div .t{flex:0 0 auto;font-size:11.5px;color:#9A938A}
.xa-roles{display:flex;gap:10px}
.xa-roles a{flex:1;height:42px;border:1px solid #D9CFB8;border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:700;color:#15224F;text-decoration:none;transition:border-color .15s,background .15s,transform .15s}
.xa-roles a:hover{border-color:#C0923A;background:#FFFDF8;transform:translateY(-1px)}
.xa-back{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:42px;margin:22px 0 0;border:1px solid #D9CFB8;border-radius:9px;background:#fff;color:#15224F;font-size:13px;font-weight:800;text-decoration:none;transition:border-color .15s,background .15s,transform .15s}
.xa-back:hover{border-color:#C0923A;background:#FFFDF8;transform:translateY(-1px)}
.xa-switch{font-size:12.5px;color:#6D6A63;text-align:center;margin-top:12px;line-height:1.6}
.xa-switch a{color:#2750DD;font-weight:700;text-decoration:none}
.xa-consent{font-size:12px;color:#9A938A;text-align:center;margin-top:24px;line-height:1.6}
.xa-consent a{color:#2750DD;font-weight:600;text-decoration:none}
.xa-msg{margin:0 0 14px}
.xa-msg:empty{display:none}
.xa-check-line{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#2A2C38;line-height:1.6;margin:2px 0 16px;cursor:pointer}
.xa-check-line input{margin-top:3px;accent-color:#2750DD}

@keyframes xa-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes xa-card-in{from{opacity:0;transform:translateY(18px) scale(.99)}to{opacity:1;transform:none}}
@keyframes xa-field-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes xa-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(10px,-8px,0)}}
@media (prefers-reduced-motion: no-preference){
  .xa-brand{animation:xa-card-in .52s cubic-bezier(.22,.61,.36,1) both}
  .xa-form .box{animation:xa-card-in .52s cubic-bezier(.22,.61,.36,1) .08s both}
  .xa-brand .tex{animation:xa-drift 18s ease-in-out 1s infinite alternate}
  .xa-tabs,.xa-back,.xa-consent,.xa-switch,.xa-div,.xa-roles a,.xa-check-line,.xa-remember,form .xa-cta{animation:xa-field-in .38s cubic-bezier(.22,.61,.36,1) both}
  form .xa-lbl,form .xa-fld{animation:xa-field-in .38s cubic-bezier(.22,.61,.36,1) both}
  form .xa-lbl:nth-of-type(1),form .xa-fld:nth-of-type(1){animation-delay:.14s}
  form .xa-lbl:nth-of-type(2),form .xa-fld:nth-of-type(2){animation-delay:.21s}
  form .xa-lbl:nth-of-type(3),form .xa-fld:nth-of-type(3){animation-delay:.28s}
  .xa-tabs{animation-delay:.12s}
  .xa-check-line,.xa-remember{animation-delay:.30s}
  form .xa-cta{animation-delay:.36s}
  .xa-div{animation-delay:.42s}
  .xa-roles a:nth-child(1){animation-delay:.48s}
  .xa-roles a:nth-child(2){animation-delay:.55s}
  .xa-back{animation-delay:.42s}
  .xa-switch{animation-delay:.48s}
  .xa-consent{animation-delay:.54s}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media(max-width:820px){
  .xa{flex-direction:column;overflow:visible}
  .xa-brand{display:none}
  .xa-form{padding:36px 20px;min-height:100vh}
  .xa-form .box,.xa-card{max-width:420px}
}
@media(max-width:420px){
  .xa-form{padding:32px 18px}
  .xa-roles{flex-direction:column}
  .xa-stats{display:block}
  .xa-stats>div{border-right:0;margin:0 0 16px;padding:0}
}
