.login-modal{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.login-modal h3{color:#333;font-size:1.5rem;font-weight:600}.login-modal .form-control{height:48px;border-radius:4px;border:1px solid #ddd;padding:.75rem 1rem;font-size:1rem}.login-modal .form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem rgba(var(--primary-rgb),.25)}.login-modal .form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.login-modal .invalid-feedback{display:block;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.login-modal .btn-primary{height:48px;font-weight:500;font-size:1rem}.login-modal .btn-link{color:var(--primary-color);text-decoration:none}.login-modal .btn-link:hover{color:var(--primary-dark);text-decoration:underline}.login-modal .close-button{position:absolute;right:1rem;top:1rem;background:none;border:none;font-size:1.25rem;color:#666;cursor:pointer}.login-modal .close-button:hover{color:#333}