main .lgn-wrapper{padding:4rem 0 6rem;background:linear-gradient(160deg, #f8fafc 0%, #f1f5f9 100%);min-height:60vh;display:flex;align-items:flex-start}main .lgn-wrapper>.container{width:100%}main .lgn-card{max-width:30rem;margin:0 auto;background:#fff;border-radius:1.5rem;box-shadow:0 4px 32px rgba(0,0,0,.08),0 1px 4px rgba(0,0,0,.04);overflow:hidden;border:1px solid rgba(197,160,89,.18)}main .lgn-card-header{background:linear-gradient(135deg, #292524 0%, #3a2d28 100%);padding:2rem 2.5rem;display:flex;align-items:center;gap:1.125rem}@media(max-width: 640px){main .lgn-card-header{padding:1.5rem}}main .lgn-card-header .lgn-header-icon{width:2.75rem;height:2.75rem;background:linear-gradient(135deg, #C5A059, #d4a574);border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}main .lgn-card-header .lgn-header-icon svg,main .lgn-card-header .lgn-header-icon i{width:1.375rem;height:1.375rem}main .lgn-card-header .lgn-header-text h3{font-family:"Playfair Display",sans-serif;font-size:1.25rem;color:#fff;margin-bottom:.2rem}main .lgn-card-header .lgn-header-text p{font-size:.8125rem;color:rgba(255,255,255,.65);margin:0}main .lgn-card-body{padding:2.25rem 2.5rem 2.5rem}@media(max-width: 640px){main .lgn-card-body{padding:1.5rem}}main .lgn-field{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1.125rem}main .lgn-field label{font-size:.8125rem;font-weight:600;color:#44403c}main .lgn-field .lgn-input{width:100%;padding:.75rem 1rem;border:1.5px solid #e7e5e4;border-radius:.5rem;font-size:.9375rem;font-family:"Inter",sans-serif;color:#1c1917;background:#fff;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}main .lgn-field .lgn-input::placeholder{color:#a8a29e}main .lgn-field .lgn-input:focus{border-color:#c5a059;box-shadow:0 0 0 3px rgba(197,160,89,.18);outline:none}main .lgn-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}main .lgn-remember{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#57534e;cursor:pointer;user-select:none}main .lgn-remember input[type=checkbox]{width:1rem;height:1rem;accent-color:#c5a059;cursor:pointer}main .lgn-forgot{font-size:.8125rem;color:#c5a059;text-decoration:none;font-weight:600;transition:all .3s ease}main .lgn-forgot:hover{color:#a7813a;text-decoration:underline}main .lgn-btn-submit{width:100%;padding:.9375rem;background:linear-gradient(135deg, #C5A059, #d4a574);color:#fff;border:none;border-radius:624.9375rem;font-size:1rem;font-weight:700;font-family:"Inter",sans-serif;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px rgba(197,160,89,.3);display:flex;align-items:center;justify-content:center;gap:.625rem;letter-spacing:.02em}main .lgn-btn-submit svg,main .lgn-btn-submit i{width:1.125rem;height:1.125rem;transition:transform .3s ease}main .lgn-btn-submit:hover{box-shadow:0 8px 24px rgba(197,160,89,.45);transform:translateY(-2px)}main .lgn-btn-submit:hover svg,main .lgn-btn-submit:hover i{transform:translateX(3px)}main .lgn-btn-submit:active{transform:translateY(0)}main .lgn-divider{display:flex;align-items:center;gap:1rem;margin:1.625rem 0;color:#a8a29e;font-size:.8125rem}main .lgn-divider::before,main .lgn-divider::after{content:"";flex:1;height:1px;background:#e7e5e4}main .lgn-footer{text-align:center;font-size:.875rem;color:#78716c;line-height:1.6}main .lgn-footer a{color:#c5a059;font-weight:600;text-decoration:none;transition:all .3s ease}main .lgn-footer a:hover{color:#a7813a;text-decoration:underline}main .lgn-notice{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:#fffbeb;border:1px solid #fde68a;border-radius:.5rem;margin-bottom:1.5rem}main .lgn-notice .lgn-notice-icon{color:#d97706;flex-shrink:0}main .lgn-notice .lgn-notice-icon svg,main .lgn-notice .lgn-notice-icon i{width:1rem;height:1rem}main .lgn-notice p{font-size:.8125rem;color:#78716c;line-height:1.5;margin:0}main .lgn-notice p strong{color:#44403c}

/* ================================================================
   Forgot Password Modal  (fp-*)
   ================================================================ */
.fp-overlay{position:fixed;inset:0;background:rgba(26,26,26,.6);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.fp-overlay.open{opacity:1;visibility:visible}
.fp-overlay.closing{opacity:0}
.fp-modal{background:#fff;border-radius:1.5rem;max-width:26rem;width:100%;box-shadow:0 12px 56px rgba(0,0,0,.2),0 2px 8px rgba(0,0,0,.06);border:1px solid rgba(197,160,89,.2);overflow:hidden;transform:scale(.9) translateY(24px);opacity:0;transition:transform .38s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}
.fp-overlay.open .fp-modal{transform:scale(1) translateY(0);opacity:1}
.fp-overlay.closing .fp-modal{transform:scale(.94) translateY(12px);opacity:0;transition:transform .25s ease,opacity .25s ease}
.fp-modal-header{background:linear-gradient(135deg,#292524 0%,#3a2d28 100%);padding:1.625rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.fp-modal-header-inner{display:flex;align-items:center;gap:1rem}
.fp-modal-icon{width:2.75rem;height:2.75rem;background:linear-gradient(135deg,#C5A059,#d4a574);border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.fp-modal-icon svg,.fp-modal-icon i{width:1.25rem;height:1.25rem}
.fp-modal-title-group h3{font-family:"Playfair Display",sans-serif;font-size:1.125rem;color:#fff;margin:0 0 .15rem;line-height:1.2}
.fp-modal-title-group p{font-size:.78125rem;color:rgba(255,255,255,.6);margin:0;line-height:1.3}
.fp-modal-close{background:rgba(255,255,255,.1);border:none;border-radius:.5rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);cursor:pointer;flex-shrink:0;transition:background .2s ease,color .2s ease}
.fp-modal-close:hover{background:rgba(255,255,255,.2);color:#fff}
.fp-modal-close svg,.fp-modal-close i{width:1rem;height:1rem}
.fp-modal-body{padding:1.875rem 2rem 2rem}
@media(max-width:480px){.fp-modal-header{padding:1.375rem 1.25rem}.fp-modal-body{padding:1.375rem 1.25rem 1.5rem}}
.fp-modal-notice{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:#fffbeb;border:1px solid #fde68a;border-radius:.625rem;margin-bottom:1.5rem}
.fp-modal-notice-icon{color:#d97706;flex-shrink:0;margin-top:.05rem}
.fp-modal-notice-icon svg,.fp-modal-notice-icon i{width:1rem;height:1rem}
.fp-modal-notice p{font-size:.8125rem;color:#78716c;line-height:1.55;margin:0}
.fp-modal-notice p strong{color:#44403c}
.fp-field{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1.375rem}
.fp-field label{font-size:.8125rem;font-weight:600;color:#44403c}
.fp-required{color:#e03d3d}
.fp-input{width:100%;padding:.75rem 1rem;border:1.5px solid #e7e5e4;border-radius:.5rem;font-size:.9375rem;font-family:"Inter",sans-serif;color:#1c1917;background:#fff;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}
.fp-input::placeholder{color:#a8a29e}
.fp-input:focus{border-color:#C5A059;box-shadow:0 0 0 3px rgba(197,160,89,.18);outline:none}
.fp-error-msg{font-size:.75rem;color:#e03d3d;margin-top:.125rem}
.fp-btn-submit{width:100%;padding:.9375rem;background:linear-gradient(135deg,#C5A059,#d4a574);color:#fff;border:none;border-radius:624.9375rem;font-size:.9375rem;font-weight:700;font-family:"Inter",sans-serif;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px rgba(197,160,89,.3);display:flex;align-items:center;justify-content:center;gap:.625rem;letter-spacing:.02em}
.fp-btn-submit svg,.fp-btn-submit i{width:1rem;height:1rem;transition:transform .3s ease}
.fp-btn-submit:hover{box-shadow:0 8px 24px rgba(197,160,89,.45);transform:translateY(-2px)}
.fp-btn-submit:hover svg,.fp-btn-submit:hover i{transform:translateX(3px)}
.fp-btn-submit:active{transform:translateY(0)}
.fp-btn-submit:disabled,.fp-btn-loading{opacity:.75;cursor:not-allowed;transform:none !important;box-shadow:none !important}
.fp-success-msg{display:flex;flex-direction:column;align-items:center;gap:.875rem;padding:1.75rem 1rem;text-align:center}
.fp-success-icon{width:3.25rem;height:3.25rem;background:linear-gradient(135deg,#C5A059,#d4a574);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 16px rgba(197,160,89,.35)}
.fp-success-icon svg,.fp-success-icon i{width:1.625rem;height:1.625rem}
.fp-success-msg p{font-size:.9rem;color:#57534e;line-height:1.6;margin:0}