/* 医生端 / 管理端登录页共用：左右分栏卡片、带图标输入框、验证码行 */
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef4ff,#f7f9fd)}
.login-card{width:min(900px,100%);display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line,#e5eaf2);border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(37,99,235,.12)}
.login-brand{background:linear-gradient(160deg,#2563eb,#1e40af);color:#fff;padding:44px 36px;display:flex;flex-direction:column;justify-content:center}
.login-logo{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;letter-spacing:.5px}
.login-logo-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.18);font-size:16px}
.login-brand h1{margin:28px 0 10px;font-size:23px;line-height:1.4}
.login-brand p{margin:0;color:rgba(255,255,255,.82);line-height:1.8}
.login-brand ul{margin:26px 0 0;padding:0;list-style:none}
.login-brand li{margin:10px 0;display:flex;gap:8px;align-items:center;color:rgba(255,255,255,.9)}
.login-brand li::before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.2);font-size:11px}
.login-form-side{padding:44px 40px;display:flex;align-items:center}
.login-form-box{width:100%}
.login-form-box h2{margin:0 0 4px;font-size:22px}
.login-form-box .muted{margin:0 0 22px;color:var(--muted,#6b778c)}
.login-form-box label{display:block;margin:0 0 6px;font-weight:600}
.field{position:relative;margin-bottom:18px}
.field input{width:100%;margin:0!important;padding:10px 12px 10px 38px;border:1px solid #d8dfeb;border-radius:8px;font-size:15px}
.field input:focus,.captcha-line input:focus{outline:none;border-color:var(--blue,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.field .ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#9ca3af;pointer-events:none}
.captcha-row{margin-bottom:18px}
.captcha-line{display:flex;gap:10px;align-items:stretch}
.captcha-line input{flex:1;min-width:0;margin:0!important;padding:10px 12px;border:1px solid #d8dfeb;border-radius:8px;font-size:16px;letter-spacing:3px;text-transform:uppercase}
.captcha-line input::placeholder{letter-spacing:0;text-transform:none}
.captcha-img{padding:0;border:1px solid #d8dfeb;border-radius:8px;overflow:hidden;background:#f1f5fd;line-height:0;flex:none}
.captcha-img img{display:block;width:120px;height:44px}
.captcha-hint{margin:6px 0 0;font-size:12px;color:var(--muted,#6b778c)}
.login-form-box .error{margin:0 0 14px;padding:9px 12px;border:1px solid #f3c2bb;border-radius:8px;background:#fdf1ef;color:#b83c28}
.login-form-box .error:empty{display:none}
.login-form-box .primary{width:100%;padding:11px;font-size:15px;font-weight:600}
.login-foot{margin:18px 0 0;text-align:center;font-size:12px;color:var(--muted,#6b778c)}
@media (max-width:760px){.login-card{grid-template-columns:1fr}.login-brand{padding:26px 24px}.login-brand ul{display:none}.login-form-side{padding:28px 24px}}
