/* ===== 02-login.css —— 登录屏（源自原型 V2.10，行区间 58-134） ===== */
  /* ===================== Login Screen ===================== */
  #screen-login{position:fixed;inset:0;z-index:100;display:none;background:var(--canvas);}
  #screen-login.active{display:flex;}
  .login-brand{
    flex:1.15;min-width:0;position:relative;overflow:hidden;
    background:var(--sidebar-grad);
    color:#fff;padding:60px 64px;
    display:flex;flex-direction:column;justify-content:space-between;
  }
  .login-brand .mirror-deco{position:absolute;right:-140px;top:-140px;width:560px;height:560px;opacity:.5;pointer-events:none;}
  .login-brand .mirror-deco2{position:absolute;left:-120px;bottom:-180px;width:440px;height:440px;opacity:.3;pointer-events:none;}
  .lb-logo{display:flex;align-items:center;gap:12px;}
  .lb-logo svg{width:38px;height:38px;flex:none;}
  .lb-logo .n{font:700 24px/1.2 var(--font-cn);color:#fff;}
  .lb-logo .s{font:400 12px/1.5 var(--font-cn);color:var(--text-onnavy);margin-top:3px;}
  .lb-mid{position:relative;z-index:1;max-width:460px;}
  .lb-slogan{font:700 34px/1.45 var(--font-cn);color:#fff;letter-spacing:.5px;}
  .lb-slogan em{font-style:normal;color:var(--gold-soft);}
  .lb-sub{font:400 14px/1.8 var(--font-cn);color:var(--text-onnavy);margin-top:14px;}
  .lb-feats{display:flex;flex-direction:column;gap:14px;margin-top:34px;}
  .lb-feat{display:flex;align-items:center;gap:12px;font:500 14px/1.5 var(--font-cn);color:#E8EDF3;}
  .lb-feat svg{width:20px;height:20px;flex:none;stroke:var(--gold-soft);}
  .lb-foot{font:400 12px/1.7 var(--font-cn);color:rgba(199,210,222,.65);position:relative;z-index:1;}
  .login-panel{
    width:460px;flex:none;background:var(--card);
    display:flex;flex-direction:column;justify-content:center;
    padding:48px 52px;overflow-y:auto;
  }
  .login-title{font:700 22px/1.3 var(--font-cn);color:var(--text-strong);}
  .login-sub{font:400 13px/1.6 var(--font-cn);color:var(--text-label);margin:6px 0 22px;}
  .login-tabs{display:inline-flex;background:var(--input-bg);border-radius:10px;padding:3px;gap:3px;width:100%;margin-bottom:22px;}
  .ltab{flex:1;border:none;background:none;padding:10px 0;border-radius:8px;cursor:pointer;font:600 14px/1 var(--font-cn);color:var(--text-label);transition:background .15s,color .15s;}
  .ltab.active{background:var(--card);color:var(--text-strong);box-shadow:0 1px 3px rgba(13,26,51,.10);}
  /* 登录方式辅助链接 / 微信扫码 / 注册角色选择 */
  .login-links{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:12px;}
  .login-link-hint{font:400 12px/1.4 var(--font-cn);color:var(--text-meta);}
  .login-link{font:500 13px/1.4 var(--font-cn);color:#A8821F;cursor:pointer;text-decoration:none;border:none;background:none;padding:0;}
  .login-link:hover{text-decoration:underline;}
  .wx-box{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0 2px;}
  .wx-qr{width:200px;height:200px;border:1px solid var(--border);border-radius:14px;background:#fff;}
  /* V3.3：真实微信扫码 —— iframe 承载 open.weixin.qq.com 官方二维码。
     尺寸按微信官方建议预留 220px 以上；边框去掉，用外层容器做圆角与描边。 */
  .wx-frame-wrap{
    width:220px;height:220px;border:1px solid var(--border);border-radius:14px;
    background:#fff;overflow:hidden;position:relative;
  }
  .wx-frame{width:220px;height:220px;border:none;display:block;}
  .wx-status{font:400 13px/1.5 var(--font-cn);color:var(--text-label);}
  .wx-status.wx-ok{color:#1E9E62;font-weight:600;}
  .wx-status.wx-err{color:#C0392B;font-weight:600;}
  .wx-status.wx-warn{color:#A8821F;font-weight:600;}
  .wx-confirm{
    height:40px;padding:0 18px;border:1px solid #07C160;border-radius:10px;background:#fff;
    color:#07C160;font:600 13px/1 var(--font-cn);cursor:pointer;
  }
  .wx-confirm:hover{background:#07C160;color:#fff;}
  .wx-tip{font:400 11px/1.6 var(--font-cn);color:var(--text-meta);text-align:center;}
/* V3.63：原 .reg-roles / .reg-role（注册页职位选择）已随 V3.31「注册不再选职位」下线移除 ——
     注册表单不再让用户挑主任 / 协作律师，界面无任何使用者，样式一并清除。 */
.login-fields{display:flex;flex-direction:column;gap:14px;}
  .l-field label{display:block;font:500 12px/1.4 var(--font-cn);color:var(--text-label);margin-bottom:6px;}
  .l-input{
    width:100%;height:46px;border:1px solid var(--border);border-radius:10px;
    padding:0 14px;font:400 15px/1 var(--font-cn);color:var(--text-body);background:#fff;
  }
  .l-input:focus{outline:none;border-color:var(--gold);}
  .l-row{display:flex;gap:12px;}
  .l-row .l-field{flex:1;}
  .login-submit{
    margin-top:20px;height:48px;border:none;border-radius:12px;cursor:pointer;
    background:var(--gold);color:var(--navy-800);
    font:600 16px/1 var(--font-cn);display:flex;align-items:center;justify-content:center;gap:8px;
    transition:filter .15s;
  }
  .login-submit:hover{filter:brightness(1.05);}
  .login-submit svg{width:18px;height:18px;stroke:#0E2A47;}
  /* V3.69：.login-code-btn（获取验证码按钮）已随短信通道下线一并删除 */
  .demo-hint{
    margin-top:22px;padding:12px 14px;background:var(--gold-tint);
    border:1px dashed rgba(201,162,74,.45);border-radius:10px;
    font:400 12px/1.7 var(--font-cn);color:#7A5E14;
  }

