.auth-page{min-height:calc(100dvh - 112px);display:flex;justify-content:center;align-items:flex-start;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:clamp(16px,4svh,24px) 0 max(24px,env(safe-area-inset-bottom));background:#f8f9fa;color:#1a1a1a}.auth-shell{width:100%;max-width:360px;display:flex;flex-direction:column;padding:0 20px}.auth-scroll{min-height:0;flex:1 1 auto;overflow:visible;padding:0 0 24px}.auth-header{width:320px;max-width:100%;margin:0 auto 24px;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}.auth-brand{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;color:#000}.auth-brand-mark{width:48px;height:48px;display:block}.auth-heading{display:flex;flex-direction:column;gap:8px;width:100%}.auth-heading h1{font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:400;line-height:36px;letter-spacing:0;color:#1a1a1a}.auth-description{font-family:var(--font-secondary);font-size:12px;font-weight:400;line-height:18px;letter-spacing:0;color:#1a1a1a}.auth-description p{margin:0}.auth-content{width:320px;max-width:100%;margin:0 auto}.auth-feedback{width:320px;max-width:100%;margin:0 auto 12px;position:relative;z-index:1}.auth-feedback--empty{margin-bottom:0}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-field{display:flex;flex-direction:column;gap:4px;font-family:var(--font-secondary);font-size:14px;font-weight:400;line-height:22px;color:#1a1a1a}.auth-input,.auth-inline-input{width:100%;height:40px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#f8f9fab8;padding:8px 12px;font-family:var(--font-secondary);font-size:16px;font-weight:400;line-height:18px;letter-spacing:0;color:#1a1a1a;outline:none;transition:border-color .16s ease,background-color .16s ease}.auth-input:focus,.auth-inline-input:focus{border-color:#00000047;background:#f8f9faf0}.auth-input::placeholder,.auth-inline-input::placeholder{color:#b0b0b0;opacity:1}.auth-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.auth-password-wrap{position:relative}.auth-password-wrap .auth-input{padding-right:42px}.auth-eye-icon{position:absolute;right:6px;top:50%;width:28px;height:28px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;padding:0;background:transparent;color:#b0b0b0;cursor:pointer}.auth-eye-icon:hover{color:#6b6b6b}.auth-eye-icon:focus-visible{outline:2px solid rgba(0,0,0,.28);outline-offset:1px}.auth-eye-icon svg{width:16px;height:16px}.auth-error{border:1px solid rgba(204,0,0,.22);border-radius:8px;background:#fff0f0;padding:10px 12px;font-family:var(--font-secondary);font-size:12px;line-height:18px;color:#c00}.auth-note{font-family:var(--font-secondary);font-size:12px;line-height:18px;color:#6b6b6b}.auth-bottom{position:relative;z-index:1;flex:none;width:320px;max-width:100%;margin:0 auto;padding-top:8px;background:#f8f9fa}.auth-bottom:before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px;pointer-events:none;background:linear-gradient(180deg,#f8f9fa00,#f8f9fa);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 64%);mask-image:linear-gradient(180deg,transparent 0%,#000 64%)}.auth-actions{display:flex;flex-direction:column;gap:12px}.auth-primary-button,.auth-secondary-button,.auth-inline-button{height:40px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;font-family:var(--font-secondary);font-size:14px;line-height:20px;letter-spacing:0;white-space:nowrap;transition:opacity .16s ease,border-color .16s ease}.auth-primary-button{width:100%;background:#1a1a1a;color:#f8f9fa;font-weight:500;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.auth-secondary-button,.auth-inline-button{border:.5px solid rgba(0,0,0,.12);background:#fcfcfc;color:#1a1a1a;font-weight:400;box-shadow:0 1px 3px #0000000a}.auth-inline-button{min-width:96px}.auth-primary-button:hover:not(:disabled),.auth-secondary-button:hover:not(:disabled),.auth-inline-button:hover:not(:disabled){opacity:.82}.auth-primary-button:disabled,.auth-secondary-button:disabled,.auth-inline-button:disabled{cursor:not-allowed;opacity:.5}.auth-button-icon{position:relative;width:16px;height:16px;flex:0 0 16px}.auth-button-icon:before{content:"";position:absolute;top:7px;left:3px;width:10px;border-top:1.5px solid currentColor}.auth-button-icon:after{content:"";position:absolute;top:4px;width:6px;height:6px;border-top:1.5px solid currentColor}.auth-button-icon--right:after{right:3px;border-right:1.5px solid currentColor;transform:rotate(45deg)}.auth-button-icon--left:after{left:3px;border-left:1.5px solid currentColor;transform:rotate(-45deg)}.auth-footer{padding-top:12px;text-align:center;font-family:var(--font-secondary);font-size:12px;line-height:18px;color:#6b6b6b}.auth-link{color:#3b82f6;text-decoration:none}.auth-link:hover{text-decoration:underline;text-underline-offset:2px}@media(min-width:720px){.auth-shell{padding-top:0}.auth-input,.auth-inline-input{font-size:14px}}@media(min-height:740px){.auth-page{align-items:center}}@media(max-height:700px){.auth-header{gap:12px;margin-bottom:20px}}@media(max-width:719px){.auth-page{min-height:calc(100svh - 72px);height:calc(100svh - 72px);align-items:flex-start;padding-top:max(24px,5svh)}.auth-input,.auth-inline-input,.auth-primary-button,.auth-secondary-button,.auth-inline-button{min-height:48px;height:48px;font-size:16px}}
