:root{--navy:#1a3a5c;--navy-dark:#0f2340;--navy-mid:#254d78;--navy-light:#d6e4f0;--gold:#c9a84c;--gold-dark:#a8853a;--gold-light:#f0dfa0;--gold-pale:#faf6e8;--white:#ffffff;--off-white:#f8f7f4;--grey-50:#f2f1ee;--grey-100:#e4e2dc;--grey-200:#c8c5bc;--grey-400:#8f8c84;--grey-600:#5a5851;--grey-800:#2c2b28;--success:#2e7d32;--success-bg:#e8f5e9;--danger:#c62828;--danger-bg:#ffebee;--font-display:var(--font-cormorant),Georgia,serif;--font-body:var(--font-dm),"Helvetica Neue",sans-serif;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--transition:200ms ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}.page-login{font-size:16px;-webkit-font-smoothing:antialiased;font-family:var(--font-body);background:var(--white);min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.page-login h1,.page-login h2,.page-login h3{font-family:var(--font-display);font-weight:600;color:var(--navy);line-height:1.25}.page-login a{color:var(--navy);text-decoration:none;transition:color var(--transition)}.page-login a:hover{color:var(--gold-dark)}.page-login .brand{background:var(--navy);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px;position:relative;overflow:hidden}.page-login .brand__ring{position:absolute;border-radius:50%;border:1px solid rgba(201,168,76,.12)}.page-login .brand__ring--1{width:360px;height:360px;top:-100px;right:-100px}.page-login .brand__ring--2{width:560px;height:560px;bottom:-200px;left:-200px}.page-login .brand__ring--3{width:240px;height:240px;top:38%;left:15%}.page-login .brand__content{position:relative;z-index:1;text-align:center;max-width:360px}.page-login .brand__mark{width:72px;height:72px;background:var(--gold);border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.75rem;font-weight:600;color:var(--navy);margin:0 auto 24px}.page-login .brand h1{color:var(--white);font-size:2rem;margin-bottom:12px}.page-login .brand p{color:rgba(255,255,255,.55);font-size:.9375rem;line-height:1.7;margin-bottom:0}.page-login .brand__est{margin-top:40px;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.page-login .brand__features{margin-top:32px;display:flex;flex-direction:column;gap:12px;text-align:left}.page-login .brand__feature{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.65);font-size:.875rem}.page-login .brand__feature-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;flex-shrink:0}.page-login .form-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;overflow-y:auto}.page-login .form-inner{width:100%;max-width:420px}.page-login .auth-tabs{display:flex;background:var(--grey-50);border-radius:var(--radius-lg);padding:4px;margin-bottom:28px;gap:4px}.page-login .auth-tab{flex:1;padding:10px;text-align:center;font-size:.875rem;font-weight:500;color:var(--grey-400);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);border:none;background:none;font-family:var(--font-body)}.page-login .auth-tab.active{background:var(--white);color:var(--navy);box-shadow:0 1px 4px rgba(26,58,92,.12);font-weight:600}.page-login .auth-view{display:none}.page-login .auth-view.active{display:block}.page-login .form-heading{margin-bottom:24px}.page-login .form-heading h2{font-size:1.5rem;margin-bottom:6px}.page-login .form-heading p{color:var(--grey-400);font-size:.9rem;margin:0}.page-login .social-btns{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.page-login .social-btn{display:flex;align-items:center;justify-content:center;gap:10px;height:44px;border:1px solid var(--grey-200);border-radius:var(--radius-md);background:var(--white);font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--grey-800);cursor:pointer;transition:all var(--transition)}.page-login .social-btn:hover{border-color:var(--navy);background:var(--grey-50);box-shadow:0 2px 8px rgba(26,58,92,.08)}.page-login .divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--grey-400);font-size:.8125rem}.page-login .divider:after,.page-login .divider:before{content:"";flex:1;height:1px;background:var(--grey-100)}.page-login .form-group{margin-bottom:18px}.page-login .form-label{display:block;font-size:.8125rem;font-weight:500;color:var(--grey-800);margin-bottom:6px}.page-login .form-label span{color:var(--danger);margin-left:2px}.page-login .form-input{width:100%;padding:0 16px;height:44px;font-family:var(--font-body);font-size:.9rem;color:var(--grey-800);background:var(--white);border:1px solid var(--grey-200);border-radius:var(--radius-md);transition:all var(--transition);outline:none}.page-login .form-input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(26,58,92,.08)}.page-login .form-input.error{border-color:var(--danger)}.page-login .form-input.success{border-color:var(--success)}.page-login .form-input::placeholder{color:var(--grey-200)}.page-login .input-wrap{position:relative}.page-login .input-wrap .form-input{padding-right:44px}.page-login .pw-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--grey-400);padding:4px;display:flex;align-items:center;transition:color var(--transition)}.page-login .pw-toggle:hover{color:var(--navy)}.page-login .icon-sm{width:18px;height:18px}.page-login .pw-strength{margin-top:8px}.page-login .pw-strength-bar{display:flex;gap:4px;margin-bottom:6px}.page-login .pw-strength-seg{height:3px;flex:1;border-radius:2px;background:var(--grey-100);transition:background .3s}.page-login .pw-strength-seg.weak{background:#c62828}.page-login .pw-strength-seg.fair{background:#e65100}.page-login .pw-strength-seg.good{background:#c9a84c}.page-login .pw-strength-seg.strong{background:#2e7d32}.page-login .pw-strength-label{font-size:.75rem;color:var(--grey-400)}.page-login .pw-rules{background:var(--grey-50);border-radius:var(--radius-md);padding:12px 14px;margin-top:8px;display:none}.page-login .pw-rules.show{display:block}.page-login .pw-rule{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--grey-400);margin-bottom:5px;transition:color var(--transition)}.page-login .pw-rule:last-child{margin-bottom:0}.page-login .pw-rule.met{color:var(--success)}.page-login .form-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.page-login .check-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.875rem;color:var(--grey-600)}.page-login .check-label input{width:16px;height:16px;accent-color:var(--navy);cursor:pointer}.page-login .forgot-btn{font-size:.8125rem;color:var(--grey-400);transition:color var(--transition);background:none;border:none;font-family:var(--font-body);cursor:pointer;padding:0}.page-login .forgot-btn:hover{color:var(--navy)}.page-login .btn-primary{width:100%;height:46px;background:var(--navy);color:var(--white);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all var(--transition);display:flex;align-items:center;justify-content:center;gap:8px}.page-login .btn-primary:hover{background:var(--navy-dark);box-shadow:0 4px 12px rgba(26,58,92,.25)}.page-login .btn-primary:disabled{opacity:.6;cursor:not-allowed}.page-login .btn-primary.loading{position:relative;color:transparent}.page-login .btn-primary.loading:after{content:"";position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.page-login .alert{display:none;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-md);font-size:.875rem;border-left:3px solid;margin-bottom:18px}.page-login .alert.show{display:flex}.page-login .alert--error{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.page-login .alert--success{background:var(--success-bg);color:var(--success);border-color:var(--success)}.page-login .verify-panel{background:var(--off-white);border:1px solid var(--grey-100);border-radius:12px;padding:22px;text-align:center;margin-bottom:8px}.page-login .verify-icon{display:flex;justify-content:center;color:var(--gold-dark);margin-bottom:10px}.page-login .verify-title{font-family:var(--font-cormorant),serif;font-size:1.375rem;font-weight:600;color:var(--navy);margin:0 0 8px}.page-login .verify-text{font-size:.875rem;color:var(--grey-600);line-height:1.5;margin:0 0 8px}.page-login .verify-text strong{color:var(--navy);font-weight:600;word-break:break-all}.page-login .verify-hint{font-size:.8125rem;color:var(--grey-600);margin:0 0 12px}.page-login .verify-msg{font-size:.8125rem;padding:8px 10px;border-radius:6px;margin:0 0 10px}.page-login .verify-msg.ok{background:var(--success-bg);color:var(--success)}.page-login .verify-msg.err{background:var(--danger-bg,#fdecec);color:var(--danger,#822121)}.page-login .link-btn{background:none;border:none;color:var(--navy);text-decoration:underline;cursor:pointer;font:inherit;padding:0}.page-login .link-btn:hover{color:var(--gold-dark)}.page-login .btn-secondary{display:block;width:100%;height:44px;background:transparent;color:var(--navy);border:1px solid var(--grey-200);border-radius:var(--radius-md);font-family:var(--font-dm),sans-serif;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s ease}.page-login .btn-secondary:hover{border-color:var(--navy);background:var(--navy-light)}.page-login .cf-widget{min-height:0;display:flex;justify-content:center}.page-login .cf-widget:empty{min-height:0;margin:0}.page-login .form-footer{text-align:center;font-size:.8125rem;color:var(--grey-400);margin-top:20px}.page-login .form-footer a{color:var(--navy);font-weight:500}.page-login .terms-note{font-size:.75rem;color:var(--grey-400);text-align:center;margin-top:12px;line-height:1.5}.page-login .terms-note a{color:var(--grey-600)}.page-login .back-link{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--grey-400);margin-bottom:24px;cursor:pointer;background:none;border:none;font-family:var(--font-body);padding:0;transition:color var(--transition)}.page-login .back-link:hover{color:var(--navy)}@keyframes spin{to{transform:rotate(1turn)}}@media(max-width:768px){.page-login{grid-template-columns:1fr}.page-login .brand{display:none}.page-login .form-panel{padding:32px 24px}}