/* Shared login modal. Keep the form IDs and Bootstrap modal contract intact. */
#loginModal{--login-accent:#8bbfff;--login-muted:#8d9bb0;color:#f4f7fc;color-scheme:dark}
#loginModal .modal-dialog{max-width:440px;padding:12px;margin-inline:auto}
#loginModal .modal-content{position:relative;overflow:hidden;background:linear-gradient(150deg,#182333 0%,#111925 42%,#101722 100%)!important;border:1px solid #ffffff16!important;border-radius:22px!important;box-shadow:0 32px 100px #0008,0 1px 0 #ffffff08 inset}
#loginModal .modal-content:before{content:'';position:absolute;top:0;left:36px;right:36px;height:1px;background:linear-gradient(90deg,transparent,#9ac8ff70,transparent);pointer-events:none}
#loginModal .login-close{position:absolute;top:20px;right:20px;z-index:2;display:grid;place-items:center;width:32px;height:32px;background:#ffffff05;border:1px solid #ffffff0a;border-radius:50%;color:#92a0b4;font-size:12px;cursor:pointer;transition:background .2s,color .2s}
#loginModal .login-close:hover{color:#fff;background:#ffffff12}
#loginModal .modal-header{display:block;border:0;padding:30px 30px 0!important;background:none!important}
#loginModal .modal-header:after{content:none}
#loginModal .login-brand{display:flex;align-items:center;gap:13px;margin-bottom:27px}
#loginModal .login-brand img{display:block;width:72px;height:48px;object-fit:contain}
#loginModal .login-brand>span{border-left:1px solid #ffffff16;padding-left:13px;color:#8d9bb0;font-size:8px;font-weight:600;letter-spacing:.12em}
#loginModal .modal-title{margin:0;color:#f4f7fc;font:700 30px/1.18 Arial,sans-serif;letter-spacing:-.045em}
#loginModal .modal-title>span{color:var(--login-accent)}
#loginModal .modal-intro{margin:14px 0 0;color:var(--login-muted);font-size:12px;line-height:1.8}
#loginModal .modal-body{padding:26px 30px 28px!important}
#loginModal .login-field+.login-field{margin-top:19px}
#loginModal .form-label{display:block;margin-bottom:9px;color:#c4cddd;font-size:11px;font-weight:600;letter-spacing:0}
#loginModal .input-group{align-items:center;flex-wrap:wrap;gap:0;margin:0;background:#0b121e;border:1px solid #ffffff13;border-radius:10px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
#loginModal .input-group:focus-within{border-color:#8bbfff80;box-shadow:0 0 0 3px #8bbfff0c;transform:none}
#loginModal .input-group-text{display:grid;place-items:center;width:44px;height:48px;padding:0;border:0;background:transparent;color:#6c809d;font-size:16px}
#loginModal .form-control{min-width:0;height:48px;min-height:48px;padding:0 14px 0 0;border:0!important;border-radius:0!important;background:transparent!important;color:#e2e9f4!important;font-size:13px;box-shadow:none!important;outline:none}
#loginModal .form-control::placeholder{color:#56657b;opacity:1}
#loginModal .form-control:-webkit-autofill,#loginModal .form-control:-webkit-autofill:hover,#loginModal .form-control:-webkit-autofill:focus{-webkit-text-fill-color:#e2e9f4!important;-webkit-box-shadow:0 0 0 1000px #0b121e inset!important;caret-color:#e2e9f4}
#loginModal .login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:21px 0 25px}
#loginModal .form-check{display:flex;align-items:center;gap:8px;min-height:0;margin:0;padding:0}
#loginModal .form-check-input{float:none;width:14px;height:14px;flex:none;margin:0;border:1px solid #4a5b73;border-radius:4px;background-color:#0b121e;box-shadow:none;cursor:pointer}
#loginModal .form-check-input:checked{background-color:#71a9ec;border-color:#71a9ec}
#loginModal .form-check-label{color:#93a0b5;font-size:10px;line-height:1.6;cursor:pointer}
#loginModal .forgot-link{padding:0;border:0;background:none;color:var(--login-accent);font-size:10px;font-weight:600;line-height:1.6}
#loginModal .forgot-link:hover{text-decoration:underline}
#loginModal .login-submit{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:49px;margin:0!important;padding:14px 18px;border:1px solid #b1d5ff55;border-radius:10px!important;background:linear-gradient(110deg,#8bbfff,#6da7ee)!important;color:#0c1b30;font-size:12px;font-weight:800;box-shadow:0 5px 20px #4187d518!important;cursor:pointer;transition:filter .2s,transform .2s}
#loginModal .login-submit:hover{filter:brightness(1.08);transform:translateY(-1px)}
#loginModal .login-submit i{font-size:16px}
#loginModal .modal-footer{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:9px;margin:0;padding:17px 30px!important;border-top:1px solid #ffffff0a;background:#0b111a50!important;color:#74849b!important;font-size:9px;line-height:1.6;text-align:left}
#loginModal .modal-footer>*{margin:0}
#loginModal .modal-footer>i{color:#8bbfff!important;font-size:13px}
#loginModal .login-footer-mark{margin-left:auto;font-size:8px;letter-spacing:.1em;color:#4f6078}
#loginModal .login-access-notice{display:flex;align-items:start;gap:9px;margin-bottom:20px;padding:12px;border:1px solid #8bbfff25;border-radius:8px;background:#8bbfff08;color:#b3d4ff;font-size:11px;line-height:1.7}
#loginModal .input-group .text-danger{flex-basis:100%;padding:0 12px 10px 44px;font-size:11px}
#loginModal .alert{font-size:12px;border-radius:9px}
#loginModal :focus-visible{outline:2px solid #8bbfff;outline-offset:4px}
#loginModal .form-control:focus-visible{outline:0}
@media(max-width:420px){#loginModal .modal-dialog{padding:0;margin:12px}#loginModal .modal-header{padding:27px 24px 0!important}#loginModal .modal-body{padding:24px!important}#loginModal .modal-footer{padding:16px 24px!important}#loginModal .modal-title{font-size:28px}#loginModal .login-options{gap:8px}#loginModal .login-brand{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){#loginModal *{transition:none!important}}
