:root{--blue:#416aaa;--red:#b64d57}
.auth-wrap{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:#fff}
.auth-aside{position:relative;background:var(--navy);color:#fff;padding:60px;display:flex;flex-direction:column;justify-content:center;min-height:100dvh}
.auth-aside .brand{position:absolute;top:35px;left:60px;color:#fff}
.auth-aside .brand-mark{background:#213149}
.auth-aside .eyebrow{color:#c9ac70}
.auth-aside h1{font-size:53px;letter-spacing:-2px;line-height:1.08;font-weight:600;max-width:420px}
.auth-aside p{color:#a8b5c8;max-width:400px;font-size:16px;margin-top:22px;line-height:1.7}
.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:11px}
.auth-main{display:grid;place-items:center;padding:40px;min-height:100dvh}
.auth-form{width:100%;max-width:400px}
.auth-form h1{font-size:30px;letter-spacing:-.8px;font-weight:620;line-height:1.15}
.auth-form>p{margin:12px 0 25px;color:var(--muted);font-size:14px}
.notice{padding:14px 17px;background:#eff3f9;border:1px solid #e1e8f2;border-radius:12px;font-size:12px;color:#526982;display:flex;align-items:flex-start;gap:10px;margin-bottom:20px;line-height:1.6}
.notice .icon{width:17px;height:17px;margin-top:1px;flex-shrink:0}
.notice p{color:inherit;margin:0}
.field{display:block;margin-bottom:17px;font-size:12px;font-weight:550;color:#24364d}
.field .input,.field select{margin-top:7px;font-weight:400}
.input,select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 13px;min-height:43px;width:100%;color:var(--ink)}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8b97a8 50%),linear-gradient(135deg,#8b97a8 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.auth-form .btn.primary{margin-top:5px;min-height:48px;border-radius:12px}
.between{display:flex;align-items:center;justify-content:space-between;gap:16px}
.section-gap{margin-top:18px}
.divider{height:1px;background:var(--line);margin:22px 0}
.link-btn{border:0;background:none;color:var(--blue);font-weight:550;font-size:12px;padding:8px 0;display:inline-flex;gap:6px;align-items:center}
.link-btn:hover{color:#2d4f86}
.smalltext{font-size:12px}
.muted{color:var(--muted)}
.error{color:var(--red);font-size:12px;padding:0 0 12px;display:none}
.error.visible{display:block}
.auth-panel{margin-top:8px}
.persona-list{display:grid;gap:8px;margin-top:14px}
.persona-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;min-height:52px}
.persona-list button:hover{background:#f7f9fc}
.persona-list strong{display:block;font-size:13px;font-weight:550}
.persona-list small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.auth-success{text-align:left}
.auth-success h1{font-size:30px;letter-spacing:-.8px}
.auth-success p{color:var(--muted);margin:12px 0 22px;font-size:14px}
.modal-backdrop{position:fixed;inset:0;background:#08152866;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);z-index:40;display:flex;align-items:center;justify-content:center;padding:25px}
.modal{background:#fff;border-radius:24px;box-shadow:0 30px 80px #08152833;max-width:520px;width:100%;max-height:calc(100dvh - 50px);overflow:auto}
.modal-head{padding:28px 28px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.modal-head h2{font-size:26px;letter-spacing:-.7px;font-weight:620;line-height:1.2}
.modal-head p{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.5}
.modal-body{padding:22px 28px 28px}
.modal-close{width:36px;height:36px;border-radius:50%;border:1.5px solid #b9cbe6;background:#fff;color:#3c6294;display:grid;place-items:center;flex-shrink:0;padding:0}
.modal-close svg{width:16px;height:16px}
.modal-close svg path{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.modal-close:hover{background:#f4f7fb}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}
.modal-actions .btn{min-height:42px;border-radius:12px;padding:10px 16px}
.modal .field{margin-bottom:16px}
.modal .notice{margin-bottom:18px}
@media(max-width:1000px){
  .auth-aside{padding:40px}
  .auth-aside .brand{left:40px}
  .auth-aside h1{font-size:43px}
}
.field-error{display:block;margin-top:6px;color:var(--red);font-size:12px;font-weight:500;line-height:1.4}
.field-error:empty{display:none}
.input.input-invalid{border-color:var(--red)}
.auth-form .btn.is-loading{position:relative;color:transparent;cursor:wait}
.auth-form .btn.is-loading:disabled{opacity:1}
.auth-form .btn.is-loading .btn-label,.auth-form .btn.is-loading .icon{visibility:hidden}
.auth-form .btn.is-loading:after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:admin-spin .7s linear infinite}
@keyframes admin-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){
  .auth-wrap{display:block}
  .auth-aside{display:none}
  .auth-main{min-height:100dvh;padding:30px 22px}
}
