body{background:linear-gradient(135deg,var(--navy-dark) 0%,var(--navy) 50%,var(--navy-light) 100%);background-attachment:fixed;padding:2rem 1rem;position:relative;overflow-x:hidden;min-height:100vh}body:before{content:"";position:absolute;top:-50%;left:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(192,39,45,.15) 0%,transparent 70%);pointer-events:none}body:after{content:"";position:absolute;bottom:-30%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(245,166,35,.1) 0%,transparent 70%);pointer-events:none}.auth-container{width:100%;max-width:520px;margin:0 auto;position:relative;z-index:10}.auth-brand{text-align:center;margin-bottom:2rem}.auth-brand .brand-logo{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--gold);border-radius:16px;margin-bottom:1rem;box-shadow:0 8px 32px #f5a62366}.auth-brand .brand-logo svg{color:var(--navy-dark)}.auth-brand h1{font-size:1.75rem;font-weight:800;color:#fff;letter-spacing:-.5px;margin:0 0 .25rem}.auth-brand h1 span{color:var(--gold)}.auth-brand p{color:#fff9;font-size:.875rem;margin:0}.auth-brand-sub{font-size:.75rem!important;color:#fff6!important;margin-top:.25rem!important}.auth-card{background:#fff;border-radius:20px;padding:2.5rem;box-shadow:0 25px 60px #00000059,0 0 0 1px #ffffff0d}.auth-card h2{font-size:1.375rem;font-weight:700;color:var(--navy-dark);margin:0 0 .375rem}.auth-card .subtitle{color:#6b7280;font-size:.875rem;margin:0 0 1.75rem}.form-group{margin-bottom:1.125rem}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-label{display:block;font-size:.8125rem;font-weight:600;color:#374151;margin-bottom:.375rem}.form-label .req{color:var(--crimson)}.form-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem}.form-label-row .form-label{margin:0}.form-control{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.9375rem;color:#111827;transition:border-color .2s,box-shadow .2s;outline:none;font-family:Inter,sans-serif}.form-control:focus{border-color:var(--navy-light);box-shadow:0 0 0 3px #1b3a8c1f}.form-control.is-invalid{border-color:var(--crimson)}.invalid-feedback{display:block;font-size:.8rem;color:var(--crimson);margin-top:.25rem}.form-check{display:flex;align-items:center;gap:.5rem}.form-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--navy);cursor:pointer}.form-check label{font-size:.875rem;color:#4b5563;cursor:pointer}.btn-primary{width:100%;padding:.8125rem 1rem;background:linear-gradient(135deg,var(--crimson) 0%,var(--crimson-dark) 100%);color:#fff;border:none;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;font-family:Inter,sans-serif;letter-spacing:.2px;margin-top:.5rem}.btn-primary:hover{opacity:.92;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-outline{width:100%;padding:.75rem 1rem;background:transparent;color:var(--navy);border:2px solid #e5e7eb;border-radius:10px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:border-color .2s,background .2s;font-family:Inter,sans-serif;text-align:center;text-decoration:none;display:block}.btn-outline:hover{border-color:var(--navy-light);background:#f0f4ff}.divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:#9ca3af;font-size:.8125rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.auth-links{text-align:center;margin-top:1.5rem;font-size:.875rem;color:#6b7280}.auth-links a{color:var(--crimson);text-decoration:none;font-weight:600}.auth-links a:hover{text-decoration:underline}.alert{padding:.875rem 1rem;border-radius:10px;margin-bottom:1.25rem;font-size:.875rem;display:flex;align-items:flex-start;gap:.625rem}.alert svg{flex-shrink:0;margin-top:1px}.alert-danger{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.alert-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.forgot-link{font-size:.8125rem;color:var(--crimson);text-decoration:none;font-weight:500}.forgot-link:hover{text-decoration:underline}.input-icon-wrap{position:relative}.input-icon-wrap .form-control{padding-left:2.75rem}.input-icon-wrap .form-control:has(+.password-toggle){padding-right:2.75rem}.input-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.password-toggle{position:absolute;right:.875rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#9ca3af;padding:0}.password-toggle:hover{color:var(--navy)}.footer-text{text-align:center;color:#fff6;font-size:.75rem;margin-top:1.5rem}.verify-header{text-align:center;margin-bottom:1.5rem}.verify-icon{display:inline-flex;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#0d2461,#1b3a8c);align-items:center;justify-content:center;margin-bottom:1rem}.verify-header h2{margin-bottom:.25rem}.verify-header .subtitle{margin:0}.otp-input{text-align:center;font-size:1.5rem;letter-spacing:.5rem;font-weight:700}.logout-form-hidden{display:none}@media(max-width:540px){.auth-card{padding:1.75rem 1.25rem}.form-row-2{grid-template-columns:1fr;gap:0}}.invite-header{text-align:center;margin-bottom:1.5rem}.invite-icon{display:inline-flex;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#0d2461,#1b3a8c);align-items:center;justify-content:center;margin-bottom:1rem}.invite-header h2{margin-bottom:.25rem}.invite-header .subtitle{margin:0 0 1rem}.invite-email-pill{display:inline-flex;align-items:center;gap:.4rem;background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;border-radius:20px;padding:.3rem .875rem;font-size:.8125rem;font-weight:500}.section-label{font-size:.75rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .875rem}.section-divider{border-top:1px solid #f1f5f9;margin:1.25rem 0 1.125rem}.pending-icon-wrap{display:flex;justify-content:center;margin-bottom:1.25rem}.pending-icon{width:56px;height:56px;background:#fef9c3;border-radius:50%;display:flex;align-items:center;justify-content:center}.pending-notice{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:.875rem 1rem;font-size:.875rem;color:#92400e;line-height:1.6}.pending-notice p{margin:0}.pending-actions{margin-top:1.5rem}
