/* TAP2SAVE Auth V4 — calm iOS-inspired dark appearance. CSS-only update. */
:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,Arial,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:#111215;color:#f3f3f5}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(ellipse 75% 60% at 50% 0%,#23252a 0%,#17181c 55%,#111215 100%);color:#f3f3f5}
.auth{width:min(100%,440px);padding:clamp(26px,6vw,40px);background:#1e1f23;border:1px solid #35363b;border-radius:26px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.brand{font-size:19px;letter-spacing:.14em;font-weight:750;color:#f4f4f6}
.tag{font-size:10px;line-height:1.6;letter-spacing:.115em;margin-top:7px;color:#9699a3}
h1{margin:36px 0 10px;font-size:clamp(26px,6vw,31px);letter-spacing:-.045em;line-height:1.2;font-weight:730;color:#f5f5f7}
p{margin:0 0 12px;color:#aeb0b8;font-size:14px;line-height:1.65}
label{display:block;margin:23px 0 9px;font-size:13px;font-weight:590;color:#dedfe4;line-height:1.5}
input{display:block;width:100%;height:52px;padding:13px 15px;border:1px solid #3b3d44;border-radius:13px;background:#292b30;color:#f6f6f7;font:inherit;font-size:15px;outline:none;transition:border-color .15s,background .15s,box-shadow .15s}
input:hover{background:#2d2f35}input:focus{border-color:#8b9ab6;background:#303239;box-shadow:0 0 0 3px rgba(139,154,182,.15)}input::placeholder{color:#878a94}
button{display:block;width:100%;min-height:49px;margin-top:24px;padding:13px 15px;border:1px solid #454b59;border-radius:13px;background:#3d4657;color:#f7f8fb;font:inherit;font-size:14px;font-weight:650;cursor:pointer;transition:background .15s,transform .15s,border-color .15s}
button:hover:not(:disabled){background:#4a556a}button:active:not(:disabled){transform:scale(.995)}button:disabled{background:#34373f;color:#888c98;border-color:#3b3d44;cursor:not-allowed}
button.secondary{margin-top:12px;background:#292b30;border:1px solid #3b3d44;color:#d7d9e0}button.secondary:hover:not(:disabled){background:#33363d}
button:focus-visible,a:focus-visible{outline:2px solid #a4b5d3;outline-offset:3px}
.password-field{position:relative}.password-field input{padding-right:82px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:auto;min-height:37px;margin:0;padding:7px 11px;border:0;border-radius:9px;background:transparent;color:#c4cad7;font-size:12px;font-weight:650}.password-toggle:hover:not(:disabled){background:#3b3e46}.password-toggle:active:not(:disabled){transform:translateY(-50%)}
.msg{min-height:22px;margin-top:17px;font-size:13px;line-height:1.6;color:#aeb0b8}.msg.error{color:#e0a7a7}.msg.ok{color:#9fcab6}
a{color:#c7d4e8;text-decoration:none}a:hover{text-decoration:underline}.foot{margin-top:32px;text-align:center;color:#8d909b;font-size:12px}.foot a{color:#c9ced8;font-weight:650}
#loginLink{margin-top:16px}
@media(max-width:480px){body{padding:16px}.auth{padding:28px 24px;border-radius:22px}h1{margin-top:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
