:root{--bg:#fbf7f0;--bg2:#f3ede3;--bg3:#ebe3d5;--white:#fff;--card:#fff;--txt:#2c1810;--txt2:#5a4a3c;--txt3:#8a7a6c;--txt4:#b5a899;--gold:#b8956a;--gold-l:#cbaa82;--gold-d:#9a7a52;--rose:#c4918a;--rose-l:#d9afa9;--sage:#8fa887;--sage-l:#aac0a3;--sage-d:#6e8a66;--red:#c0564f;--red-l:#f4e8e7;--r:12px;--r-sm:8px;--font:var(--font-serif),Georgia,serif;--sans:var(--font-sans),"Helvetica Neue",sans-serif;--ease:cubic-bezier(.22,1,.36,1)}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--txt);min-height:100%;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer}button,input{font:inherit;border:none;background:none}input{outline:none;width:100%}em{font-style:italic;font-family:var(--font)}.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;min-height:100dvh}.auth-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.auth-visual-img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.auth-visual-grain{position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E");pointer-events:none;z-index:2}.auth-visual-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(44,24,16,.35),rgba(44,24,16,.15) 40%,rgba(44,24,16,.5));z-index:3}.auth-visual-content{position:relative;z-index:4;display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:44px 48px}.auth-brand{display:flex;align-items:baseline;font-size:1.3rem;opacity:0}.brand-prea{font-family:var(--sans);font-weight:700;color:var(--gold-l)}.brand-wed{font-family:var(--font);font-weight:400;font-style:italic;color:hsla(0,0%,100%,.9);margin-left:1px}.auth-visual-text{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:420px}.auth-quote{font-family:var(--font);font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:300;font-style:italic;color:var(--white);line-height:1.55;margin-bottom:32px;opacity:0}.auth-proof{align-items:center;gap:14px;opacity:0}.auth-proof,.auth-proof-avatars{display:flex}.auth-proof-avatars img{width:32px;height:32px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid hsla(0,0%,100%,.3);margin-left:-8px}.auth-proof-avatars img:first-child{margin-left:0}.auth-proof p{font-size:.68rem;color:hsla(0,0%,100%,.5);line-height:1.4}.auth-visual-features{display:flex;gap:28px;opacity:0}.auth-feat{display:flex;align-items:center;gap:7px;color:hsla(0,0%,100%,.45);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500}.auth-feat svg{width:16px;height:16px;stroke:var(--gold-l);flex-shrink:0}.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:48px 60px;position:relative;overflow-y:auto;transition:opacity .2s}.auth-form-panel.checking{opacity:0;pointer-events:none}.auth-form-wrapper{width:100%;max-width:420px;position:relative}.auth-brand-mobile{display:none;align-items:baseline;font-size:1.2rem;margin-bottom:36px;justify-content:center}.auth-brand-mobile .brand-prea{color:var(--gold-d)}.auth-brand-mobile .brand-wed{color:var(--txt);opacity:.7}.auth-view{display:none;opacity:0}.auth-view.active{display:block}.auth-tag{display:inline-block;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);font-weight:600;margin-bottom:14px}.auth-title{font-family:var(--font);font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:400;line-height:1.2;margin-bottom:10px;color:var(--txt)}.auth-title em{color:var(--gold-d)}.auth-subtitle{font-size:1rem;line-height:1.6;color:var(--txt3);margin-bottom:32px}.auth-header-center{text-align:center}.auth-form{gap:20px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{font-size:.85rem;font-weight:500;letter-spacing:.04em;color:var(--txt2)}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.input-wrap{display:flex;align-items:center;gap:10px;background:var(--white);border:1.5px solid rgba(44,24,16,.08);border-radius:var(--r);padding:0 16px;height:48px;transition:all .3s var(--ease)}.input-wrap:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px hsla(33,35%,57%,.1)}.input-wrap.error{border-color:var(--red);box-shadow:0 0 0 3px rgba(192,86,79,.08)}.input-wrap svg{width:18px;height:18px;stroke:var(--txt4);flex-shrink:0;transition:stroke .3s}.input-wrap:focus-within svg{stroke:var(--gold)}.input-wrap input{font-size:.95rem;color:var(--txt);height:100%}.input-wrap input::-moz-placeholder{color:var(--txt4)}.input-wrap input::placeholder{color:var(--txt4)}.toggle-pw{display:flex;align-items:center;padding:4px;color:var(--txt4);transition:color .3s}.toggle-pw:hover{color:var(--gold)}.toggle-pw svg{width:18px;height:18px}.toggle-pw .eye-closed,.toggle-pw.showing .eye-open{display:none}.toggle-pw.showing .eye-closed{display:block}.pw-strength{display:flex;align-items:center;gap:10px;margin-top:4px;opacity:0;height:0;transition:all .3s var(--ease)}.pw-strength.visible{opacity:1;height:18px}.pw-bar{flex:1;height:3px;background:rgba(44,24,16,.06);border-radius:2px;overflow:hidden}.pw-bar span{display:block;height:100%;width:0;border-radius:2px;transition:width .4s var(--ease),background .3s}.pw-label{font-size:.66rem;font-weight:500;letter-spacing:.04em;color:var(--txt4);min-width:50px;text-align:right}.pw-weak .pw-bar span{width:33%;background:var(--red)}.pw-weak .pw-label{color:var(--red)}.pw-medium .pw-bar span{width:66%;background:var(--gold)}.pw-medium .pw-label{color:var(--gold)}.pw-strong .pw-bar span{width:100%;background:var(--sage-d)}.pw-strong .pw-label{color:var(--sage-d)}.checkbox-wrap{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.85rem;color:var(--txt3)}.checkbox-wrap input{display:none}.checkbox-custom{width:18px;height:18px;border:1.5px solid rgba(44,24,16,.12);border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s var(--ease)}.checkbox-wrap input:checked+.checkbox-custom{background:var(--gold);border-color:var(--gold)}.checkbox-wrap input:checked+.checkbox-custom:after{content:"";display:block;width:10px;height:10px;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") no-repeat 50%/contain}.form-row{display:flex;justify-content:space-between;align-items:center}.link-btn{color:var(--gold-d);font-size:.85rem;font-weight:500;transition:color .2s;display:inline-flex;align-items:center;gap:4px}.link-btn:hover{color:var(--rose)}.link-inline{color:var(--gold-d);text-decoration:underline;text-underline-offset:2px}.link-inline:hover{color:var(--rose)}.btn-submit{opacity:unset!important;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px;background:var(--gold);color:var(--white);font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:100px;transition:all .4s var(--ease);position:relative;overflow:hidden;margin-top:4px}.btn-submit:before{content:"";position:absolute;inset:0;background:var(--gold-d);transform:translateX(-101%);transition:transform .4s var(--ease)}.btn-submit:hover:before{transform:translateX(0)}.btn-submit span,.btn-submit svg{position:relative;z-index:1}.btn-submit svg{width:16px;height:16px;transition:transform .3s var(--ease)}.btn-submit:hover svg{transform:translateX(3px)}.btn-submit:hover{transform:translateY(-1px);box-shadow:0 8px 24px hsla(33,35%,57%,.2)}.btn-submit:disabled{opacity:.7;pointer-events:none}.btn-spinner{display:none;width:18px;height:18px;border:2px solid hsla(0,0%,100%,.3);border-top:2px solid var(--white);border-radius:50%;animation:spin .6s linear infinite;position:relative;z-index:1}.btn-submit.loading span,.btn-submit.loading svg:not(.btn-spinner){display:none}.btn-submit.loading .btn-spinner{display:block}@keyframes spin{to{transform:rotate(1turn)}}.btn-social{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:48px;background:var(--white);border:1.5px solid rgba(44,24,16,.08);border-radius:100px;font-size:.82rem;font-weight:500;color:var(--txt2);transition:all .3s var(--ease)}.btn-social:hover{border-color:rgba(44,24,16,.15);box-shadow:0 4px 16px rgba(44,24,16,.06);transform:translateY(-1px)}.auth-divider{display:flex;align-items:center;gap:16px;margin:24px 0}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:rgba(44,24,16,.06)}.auth-divider span{font-size:.6rem;color:var(--txt4);letter-spacing:.08em;text-transform:uppercase}.auth-switch{text-align:center;font-size:.88rem;color:var(--txt3);margin-top:28px}.confirm-icon{width:72px;height:72px;border-radius:50%;background:rgba(143,168,135,.1);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.confirm-icon svg{width:36px;height:36px;stroke:var(--sage-d)}.auth-toast{position:fixed;bottom:70px;left:50%;transform:translateX(-50%) translateY(100px);z-index:100;padding:12px 24px;border-radius:100px;font-size:.82rem;font-weight:500;color:var(--white);opacity:0;pointer-events:none;transition:all .4s var(--ease);white-space:nowrap;max-width:90vw}.auth-toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.auth-toast.success{background:var(--sage-d)}.auth-toast.error{background:var(--red)}@media(max-width:1024px){.auth-form-panel{padding:48px 40px}.auth-visual-content{padding:36px 40px}}@media(max-width:768px){.auth-layout{grid-template-columns:1fr}.auth-visual{display:none}.auth-form-panel{padding:32px 24px;min-height:100vh;min-height:100dvh}.auth-form-wrapper{max-width:400px}.auth-brand-mobile{display:flex}}@media(max-width:480px){.auth-form-panel{padding:24px 20px}.form-row-2{grid-template-columns:1fr}.auth-title{font-size:1.5rem}.btn-submit{height:46px;font-size:.66rem}.btn-social{height:44px}}@media screen and (max-width:1024px){input,select,textarea{font-size:16px!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}