/* ruina-login-v3.css —— 登录页 v3（Claude，R2c）。加载在 ruina-login.css 之后。只改外观，表单、id、脚本钩子不变。 */
body.rn-login{background:#eef3f9;--v3-blue:#1769e0;--v3-blue-d:#0b4fb8;--v3-ink:#102d50;--v3-muted:#5a6d82;--v3-spring:cubic-bezier(.3,1.35,.6,1)}

/* 顶栏：电脑端更轻 */
body.rn-login .rn-login-top{background:rgba(255,255,255,.92);border-bottom:1px solid #dbe4ef}

/* 右侧品牌区：深蓝渐变 + 波纹 */
body.rn-login .rn-login-art{position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(150deg,#0a1f44 0%,#0b3c8f 45%,#1769e0 80%,#3f9bf2 100%)}
body.rn-login .rn-login-art::before{content:"";position:absolute;right:-120px;top:-120px;width:520px;height:420px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.20),transparent);pointer-events:none}
body.rn-login .rn-login-art::after{content:"";position:absolute;left:0;right:0;bottom:0;height:200px;pointer-events:none;opacity:.5;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 560 120' preserveAspectRatio='none'%3E%3Cpath d='M0 80 C120 30 240 120 360 60 C440 30 500 40 560 20 L560 120 L0 120Z' fill='%23fff' opacity='.35'/%3E%3Cpath d='M0 105 C140 60 260 120 380 90 C470 70 520 76 560 62 L560 120 L0 120Z' fill='%23fff' opacity='.55'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat}
body.rn-login .rn-login-art>img{position:relative;width:240px;padding:22px 26px;margin-bottom:36px;border-radius:22px;background:#fff;
  box-shadow:0 18px 40px rgba(4,20,52,.35),inset 0 1px 0 rgba(255,255,255,.6)}
body.rn-login .rn-login-art h2{position:relative;color:#fff;font-size:32px;letter-spacing:-.01em;text-shadow:0 2px 10px rgba(0,0,0,.18)}
body.rn-login .rn-login-art p{position:relative;color:#d8e8ff;font-size:15px}

/* 左侧表单卡：浮起的白卡 */
body.rn-login .wrap{border:0;border-radius:20px;padding:32px 32px 28px;
  box-shadow:0 2px 4px rgba(10,31,68,.05),0 18px 44px rgba(10,31,68,.12)}
body.rn-login .brand-mark img{width:118px}
body.rn-login .rn-login-welcome h1{color:var(--v3-ink);font-size:28px;letter-spacing:-.01em;margin-bottom:4px}
body.rn-login .rn-login-welcome p{color:var(--v3-muted)}

/* 入口切换：分段按钮，选中的是白色浮起块 */
body.rn-login .rn-login-tabs{gap:4px;padding:4px;margin:20px 0 22px;border-radius:14px;background:#e9eff7;box-shadow:inset 0 1px 2px rgba(10,31,68,.08)}
body.rn-login .rn-login-tabs button{min-height:46px;border:0;border-radius:10px;color:var(--v3-muted);font-weight:650;cursor:pointer;
  transition:background-color .15s,color .15s,box-shadow .15s,transform .3s var(--v3-spring)}
body.rn-login .rn-login-tabs button:hover{color:var(--v3-ink)}
body.rn-login .rn-login-tabs button:active{transform:scale(.97)}
body.rn-login .rn-login-tabs button[aria-selected=true]{background:#fff;color:var(--v3-blue);box-shadow:0 1px 2px rgba(10,31,68,.08),0 4px 10px rgba(10,31,68,.08)}

/* 区块标题和说明 */
body.rn-login .panel h2{color:var(--v3-ink)}
body.rn-login .badge.field{background:#e2f4ec;color:#0b7a52}
body.rn-login .badge.management{background:#e4eefc;color:var(--v3-blue)}
body.rn-login .hint{color:var(--v3-muted)}

/* 输入框：内凹浅底，聚焦时蓝色光圈 */
body.rn-login .field input,body.rn-login input.person-search{min-height:48px;border-radius:12px;border:1.5px solid #d3deeb;background:#f7fafd;
  box-shadow:inset 0 1px 2px rgba(10,31,68,.05);transition:border-color .15s,box-shadow .15s,background-color .15s}
body.rn-login .field input:focus,body.rn-login input.person-search:focus{outline:0;background:#fff;border-color:var(--v3-blue);box-shadow:0 0 0 4px rgba(23,105,224,.18)}
body.rn-login .password-toggle{border-radius:9px;color:var(--v3-blue);font-weight:650}

/* 登录按钮：蓝色轻果冻 */
body.rn-login .btn.field,body.rn-login .btn.management{width:100%;min-height:52px;margin-top:8px;border:0;border-radius:12px;color:#fff;font-size:16px;font-weight:750;cursor:pointer;
  background:linear-gradient(180deg,#3d8ff0,var(--v3-blue));box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 3px 0 var(--v3-blue-d),0 8px 18px rgba(23,105,224,.25);
  transition:transform .3s var(--v3-spring),box-shadow .15s}
body.rn-login .btn.field:hover,body.rn-login .btn.management:hover{background:linear-gradient(180deg,#4a98f2,#1a6fe6);transform:translateY(-1px)}
body.rn-login .btn.field:active,body.rn-login .btn.management:active{transform:translateY(2px) scale(.985);transition-duration:.06s;
  box-shadow:inset 0 2px 4px rgba(0,0,0,.2),0 1px 3px rgba(23,105,224,.2)}

/* 按姓名快捷选择：可点开的浅色条 + 姓名小卡 */
body.rn-login .rn-name-picker{border-radius:12px;background:#f3f7fc;border:1px solid #dbe4ef}
body.rn-login .rn-name-picker>summary{min-height:44px;display:flex;align-items:center;padding:0 14px;color:var(--v3-blue);font-weight:650;cursor:pointer}
body.rn-login .person-card{border-radius:12px;border:1px solid #dbe4ef;background:#fff;box-shadow:0 1px 2px rgba(10,31,68,.05);
  transition:transform .3s var(--v3-spring),box-shadow .15s,border-color .15s}
body.rn-login .person-card:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(10,31,68,.10)}
body.rn-login .person-card:active{transform:scale(.97);transition-duration:.06s}
body.rn-login .person-card.selected{border-color:var(--v3-blue);background:#e4eefc;box-shadow:0 0 0 3px rgba(23,105,224,.18)}

/* 手机：品牌区收成顶部一条蓝带 */
@media (max-width:767px){
  body.rn-login .rn-login-top{background:linear-gradient(120deg,#0b3c8f,#1769e0);border-bottom:0;color:#fff}
  body.rn-login .rn-login-top img{background:#fff;border-radius:9px;padding:4px 8px;height:32px}
  body.rn-login .rn-login-top>span{color:#fff}
  body.rn-login .wrap{border-radius:18px;padding:22px 18px}
  body.rn-login .rn-login-welcome h1{font-size:24px}
  body.rn-login .brand{display:none}
}
@media (prefers-reduced-motion:reduce){body.rn-login *{transition:none}}
