/* Authentication presentation only. Account, session and recovery logic stays in PHP. */
.auth-page{--auth-ivory:var(--vl-bg-page);--auth-cream:var(--vl-hover-light);--auth-brown:var(--vl-mocha-600);--auth-gold:var(--vl-accent);--auth-ink:var(--vl-text-primary);--auth-muted:var(--vl-text-secondary);--auth-border:var(--vl-border);background:var(--auth-ivory);color:var(--auth-ink);font-family:var(--font-primary);font-size:14px;line-height:1.6}
.auth-page :is(button,a,input):focus-visible{outline:2px solid var(--auth-brown);outline-offset:3px}.auth-page :is(button,a,input){transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease}.auth-brand{width:fit-content}.auth-brand .wordmark{font-size:42px;font-weight:700;line-height:1;letter-spacing:-2.4px;color:#211710}.auth-brand .wordmark span{color:#a58b77;font-style:italic;font-weight:600}.auth-brand-caption{display:block;margin-top:13px;font-size:9px;font-weight:600;line-height:1.5;letter-spacing:.36em;text-align:center;color:var(--auth-brown)}
.auth-login-layout{display:grid;grid-template-columns:minmax(0,65fr) minmax(440px,35fr);min-height:100svh;width:100%}.auth-visual{position:relative;min-width:0;min-height:100svh;background:#ead8c2;isolation:isolate;overflow:hidden}.auth-photo,.auth-visual-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.auth-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center}.auth-visual-overlay{background:linear-gradient(90deg,rgba(246,232,214,.8),rgba(246,232,214,.64) 30%,rgba(246,232,214,.16) 54%,transparent 70%)}.auth-visual-content{position:relative;display:flex;flex-direction:column;min-height:100%;height:100%;padding:clamp(42px,4.5vw,86px) clamp(38px,6.2vw,120px)}.auth-visual-brand{margin-bottom:clamp(35px,4vh,56px)}.auth-rule{display:block;width:38px;height:1px;background:#825932;margin-bottom:26px}.auth-visual-copy{max-width:430px}.auth-visual h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,3.6vw,69px);font-weight:400;letter-spacing:-.055em;line-height:1.02;margin:0 0 22px;color:#20150e}.auth-visual h1 em{color:#83572f;font-weight:400;white-space:nowrap}.auth-visual-copy>p{font-size:15px;line-height:1.75;color:#4f4237;max-width:380px;margin:0}.auth-features{display:grid;gap:19px;list-style:none;padding:0;margin:34px 0}.auth-features li{display:flex;align-items:center;gap:18px;min-width:0}.auth-feature-icon{display:grid;place-items:center;background:#cfa87b5c;border:1px solid #cba67c33;border-radius:12px;width:54px;height:54px;color:#71451e;flex:none}.auth-feature-icon svg{width:29px;height:29px}.auth-features b{display:block;font-size:15px;line-height:1.5;font-weight:600;color:#241b18}.auth-features small{font-size:12px;line-height:1.7;color:#655445}.auth-visual-footer{margin-top:auto;padding-top:38px;font-size:10px;letter-spacing:.18em;font-weight:600;line-height:1.8;color:#33251b}.auth-visual-footer .auth-rule{margin-bottom:18px}
.auth-login-panel{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding:48px clamp(32px,3.7vw,72px) 36px;background:radial-gradient(ellipse at 100% 0,#f2e5d84d,transparent 48%),var(--auth-ivory);overflow:hidden;isolation:isolate}.auth-login-panel:before{content:'';position:absolute;right:-130px;top:-190px;width:360px;height:410px;border:1px solid #e9d3bd7d;border-radius:50%;transform:rotate(-30deg);z-index:-1;pointer-events:none}.auth-private{display:flex;align-items:center;justify-content:flex-end;gap:11px;width:100%;max-width:460px;color:#79685c;font-size:12px;line-height:1.5}.auth-private svg{width:18px;height:18px;color:#6d4024;flex:none}.auth-private i{display:block;width:40px;height:1px;background:#94613c;margin-left:18px}.auth-login-content{width:100%;max-width:460px;margin:auto 0;padding-top:58px;padding-bottom:18px}.auth-form-brand{margin:0 auto 52px}.auth-form-brand .wordmark{font-size:clamp(46px,3.7vw,68px);letter-spacing:-3.4px}.auth-form-brand .auth-brand-caption{font-size:9px;letter-spacing:.4em;margin-top:17px}.auth-welcome .eyebrow{font-size:10px;letter-spacing:.16em;color:#897366;font-weight:600;margin:0 0 9px}.auth-welcome h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(27px,2.3vw,41px);font-weight:400;letter-spacing:-.045em;line-height:1.12;margin:0 0 12px;color:var(--auth-ink)}.auth-welcome>p{font-size:14px;line-height:1.7;color:var(--auth-muted);margin:0}.auth-login-fields{gap:19px;margin-top:26px}.auth-login-fields>label{font-size:13px;color:#32251e;font-weight:600;min-width:0}.auth-input-shell{display:block;position:relative;margin-top:8px;min-width:0}.auth-input-shell>svg{position:absolute;left:17px;top:50%;transform:translateY(-50%);width:19px;height:19px;color:#5b3526;pointer-events:none;z-index:1}.auth-page .auth-login-fields input:not([type=checkbox]){height:50px;min-height:50px;width:100%;font-size:14px;font-weight:400;background:var(--vl-bg-surface);border:1px solid var(--auth-border);border-radius:12px;padding:12px 16px 12px 48px;margin:0;box-shadow:0 1px 2px #543b2510}.auth-login-fields input::placeholder{color:#96908a;opacity:1}.auth-login-fields .password-control{margin:0}.auth-login-fields .password-control>button.password-toggle{right:3px;width:44px;height:44px;border-radius:10px;color:#694631}.auth-page .auth-login-fields .login-options{gap:8px;margin:-6px 0 -7px}.auth-page .auth-login-fields .remember-choice{font-size:13px;color:var(--vl-mocha-600);font-weight:500;min-height:44px;gap:10px}.auth-page .auth-login-fields .remember-choice>input{width:19px;height:19px;min-height:19px;accent-color:#76513d}.auth-page .auth-login-fields .forgot-password{font-size:12px;padding:8px 0 8px 8px;color:var(--vl-mocha-600)}.auth-page .auth-login-fields .signin{display:flex;align-items:center;justify-content:center;gap:14px;min-height:54px;width:100%;margin:0;padding:14px 18px;border:1px solid #8b6048;border-radius:12px;background:linear-gradient(110deg,#76513d,#a77b55);color:white;font-weight:600;font-size:14px;line-height:1.6;white-space:normal}.auth-login-fields .signin svg{height:20px;width:20px;flex:none}.auth-login-fields .alert{font-size:13px;line-height:1.7;border-radius:12px;margin:0}.auth-security{display:flex;align-items:center;gap:14px;background:#f1e4d66b;border:1px solid #f0e3d54d;border-radius:14px;padding:17px 18px;margin-top:27px}.auth-security>span{color:#79502b;flex:none}.auth-security svg{width:29px;height:29px}.auth-security p{font-size:12px;line-height:1.7;color:#654733;margin:0}.auth-security b{font-weight:500}.auth-security small{font-size:11px;color:#8b7767;margin-top:3px;line-height:1.6}.auth-session-note{font-size:10px;text-align:center;margin-top:14px;color:#8c7c6f;line-height:1.7}.auth-recovery-brand{display:block;width:fit-content;margin:0 0 28px}.auth-recovery-brand .auth-brand .wordmark{font-size:37px}.auth-page .auth-reset-success{font-size:13px;line-height:1.7}
@media(hover:hover) and (pointer:fine){.auth-page .auth-login-fields .signin:hover:not(:disabled){background:linear-gradient(110deg,#62402e,#916641);border-color:#76513d}.auth-page .password-control>button.password-toggle:hover:not(:disabled){background:var(--vl-mocha-600);color:#fff}}
@media(min-width:1100px) and (max-width:1439px){.auth-login-layout{grid-template-columns:minmax(0,60fr) minmax(420px,40fr)}.auth-visual-content{padding:40px 48px}.auth-visual h1{font-size:46px}.auth-visual-copy{max-width:350px}.auth-visual-copy>p{font-size:13px;max-width:315px}.auth-features{gap:14px;margin-top:26px}.auth-feature-icon{width:47px;height:47px}.auth-features b{font-size:13px}.auth-features small{font-size:11px}.auth-login-panel{padding:32px 40px}.auth-login-content{padding-top:36px}.auth-form-brand{margin-bottom:35px}.auth-form-brand .wordmark{font-size:51px}.auth-welcome h2{font-size:31px}}
@media(min-width:1100px) and (max-height:950px){.auth-visual-content{padding-block:30px}.auth-visual-brand{margin-bottom:28px}.auth-visual-brand .wordmark{font-size:35px}.auth-visual-brand .auth-brand-caption{font-size:8px;margin-top:10px}.auth-rule{margin-bottom:20px}.auth-visual h1{font-size:44px;margin-bottom:17px}.auth-visual-copy>p{font-size:13px;max-width:320px}.auth-features{gap:12px;margin:24px 0}.auth-feature-icon{width:46px;height:46px}.auth-features b{font-size:13px}.auth-features small{font-size:11px}.auth-visual-footer{padding-top:20px;font-size:9px}.auth-login-panel{padding-block:26px}.auth-login-content{padding-top:28px;padding-bottom:0}.auth-form-brand{margin-bottom:30px}.auth-form-brand .wordmark{font-size:49px}.auth-form-brand .auth-brand-caption{margin-top:13px;font-size:8px}.auth-welcome h2{font-size:30px}.auth-welcome>p{font-size:13px}.auth-login-fields{margin-top:22px;gap:16px}.auth-security{margin-top:21px;padding:14px 16px}.auth-session-note{margin-top:10px}}
@media(min-width:768px) and (max-width:1099px) and (orientation:landscape){.auth-login-layout{grid-template-columns:minmax(0,1fr) minmax(400px,1fr)}.auth-visual-content{display:none}.auth-login-panel{padding:24px}.auth-login-content{padding-top:24px;padding-bottom:0}.auth-form-brand{margin-bottom:28px}.auth-form-brand .wordmark{font-size:46px}.auth-welcome h2{font-size:29px}}
@media(max-width:767px),(orientation:portrait){.auth-login-layout{grid-template-columns:1fr}.auth-login-panel{order:0;padding:30px 32px 36px;overflow:hidden}.auth-login-content{max-width:440px;margin:0;padding-top:34px;padding-bottom:0}.auth-private{max-width:440px}.auth-form-brand{margin-bottom:34px}.auth-form-brand .wordmark{font-size:53px}.auth-welcome h2{font-size:35px}.auth-visual{display:none}.auth-visual-content{display:none}.auth-visual-overlay{background:linear-gradient(0deg,#76513d0d,transparent)}.auth-security{margin-top:25px}}
@media(max-width:767px){.auth-login-panel{padding:22px 24px 28px}.auth-private{font-size:11px;gap:8px}.auth-private i{width:28px;margin-left:10px}.auth-login-content{padding-top:28px}.auth-form-brand{margin-bottom:31px}.auth-form-brand .wordmark{font-size:46px}.auth-form-brand .auth-brand-caption{font-size:8px;margin-top:13px}.auth-welcome h2{font-size:31px}.auth-welcome>p{font-size:13px}.auth-login-fields{margin-top:24px;gap:17px}.auth-page .auth-login-fields input:not([type=checkbox]){font-size:16px}.auth-page .auth-login-fields .signin{min-height:52px}.auth-security{padding:15px;margin-top:22px;gap:12px}.auth-security svg{width:25px;height:25px}.auth-security p{font-size:11px}.auth-security small{font-size:11px}}
@media(max-width:359px){.auth-login-panel{padding:18px 18px 24px}.auth-login-content{padding-top:23px}.auth-form-brand{margin-bottom:27px}.auth-form-brand .wordmark{font-size:41px}.auth-welcome h2{font-size:28px}.auth-welcome>p{font-size:12px}.auth-page .auth-login-fields .remember-choice{font-size:12px}.auth-page .auth-login-fields .forgot-password{font-size:11px}.auth-security{padding:13px;gap:10px}}
@media(prefers-reduced-motion:reduce){.auth-page *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
