/* Only login.php loads this sheet. No shared shell/auth rules are changed. */
:root{font-family:Arial,"Helvetica Neue",sans-serif;color:#1c211f;background:#fffaf7;color-scheme:light}
*{box-sizing:border-box}
body.rvz-login{margin:0;min-width:0;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 25px;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased}
.rvz-login button,.rvz-login input{font:inherit}
.login-stack{width:100%;max-width:360px;flex:none;transform:translateY(7px)}
.login-brand{text-align:center;margin:0 0 12px}
.login-brand h1{font-size:42px;line-height:48px;letter-spacing:-2.2px;font-weight:750;margin:0;color:#191e1c}
.login-brand h1 span{color:#967452}
.login-brand p{font-size:12px;line-height:18px;letter-spacing:3px;font-weight:400;color:#846c53;margin:9px 0 0;padding-left:3px}
.login-card{margin:0;padding:20px;border:1px solid #ffffff99;border-radius:17px;background:#fffbf8;box-shadow:0 10px 28px rgba(65,45,29,.075);display:flex;flex-direction:column;gap:11px}
.form-group{min-width:0}
.login-field{position:relative;display:flex;align-items:center;min-width:0}
.login-field input{display:block;width:100%;min-width:0;height:48px;margin:0;border:1px solid #e8e1dc;border-radius:11px;background:#f7f2ef;box-shadow:inset 0 1px 2px #50392103;color:#292d29;font-size:14px;font-weight:400;padding:0 14px 0 52px;outline-offset:3px;scroll-margin-block:24px}
.login-field input::placeholder{color:#6e6f6a;opacity:1}
.password-field input{padding-right:48px}
.field-icon{position:absolute;left:11px;width:26px;height:26px;pointer-events:none;color:#826749}
.pw-toggle{position:absolute;right:3px;top:2px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#796b59;padding:10px;cursor:pointer}
.pw-toggle svg{width:23px;height:23px}
.login-submit{width:100%;min-height:45px;display:flex;align-items:center;justify-content:center;gap:11px;padding:10px 12px;border:1px solid #ffffff38;border-radius:11px;background:linear-gradient(180deg,#906b4a 0%,#7d5d40 100%);box-shadow:0 5px 12px #77573a12;color:#fffaf7;font-size:16px;font-weight:400;cursor:pointer;transition:filter .15s ease,box-shadow .15s ease}
.login-submit svg{width:21px;height:21px;flex:none}
.login-submit:hover:not(:disabled){filter:brightness(1.055);box-shadow:0 6px 15px #77573a21}
.login-submit:active:not(:disabled){filter:brightness(.96)}
.login-submit:disabled{cursor:wait;opacity:.78}
.login-submit[aria-busy="true"] svg{visibility:hidden}
.login-copyright{margin:14px 0 0;text-align:center;color:#71736e;font-size:11px;line-height:18px;font-weight:400}
.rvz-login :is(button,input):focus-visible{outline:2px solid #866547;outline-offset:3px}
.login-message{font-size:13px;line-height:1.5;margin:0;padding:10px 11px;border:1px solid #dec9b9;border-radius:9px;color:#754336;background:#f6eae2;overflow-wrap:anywhere}
.field-error{color:#834c3a;font-size:12px;line-height:1.5;margin:6px 2px 0;overflow-wrap:anywhere}
.login-field input[aria-invalid="true"]{border-color:#a76c53}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
@media(max-width:340px){body.rvz-login{padding-inline:18px}.login-card{padding:18px}.login-field input{padding-left:47px}.field-icon{left:12px}}
@media(max-height:550px){body.rvz-login{align-items:flex-start;padding-block:16px}.login-stack{margin-block:auto;transform:none}.login-brand{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.login-submit{transition:none}}
