:root{--color-background: #fbf0e5;--color-surface: #fff;--color-surface-soft: rgb(255 255 255 / 58%);--color-surface-control: rgb(255 255 255 / 72%);--color-text: #45413e;--color-text-muted: #777370;--color-text-subtle: #716b67;--color-border: #e6d9cd;--color-primary: #f04446;--color-primary-hover: #d93639;--color-primary-text: #df3838;--color-primary-secondary: #e33d40;--color-focus: #2d6d3b;--color-danger: #b4232a;--color-success: #2d6d3b;--color-success-surface: #e8f3e8;--color-on-primary: #fff;--color-primary-shadow-rgb: 190 57 50;--color-header: #d7cbc2}:root[data-theme=pink]{--color-background: #fff0f5;--color-border: #efcdd9;--color-primary: #bc4679;--color-primary-hover: #9d3564;--color-primary-text: #a93469;--color-primary-secondary: #a93469;--color-primary-shadow-rgb: 169 52 105;--color-header: #ecd0db}:root[data-theme=blue]{--color-background: #edf5fb;--color-border: #c8dce9;--color-primary: #327aa7;--color-primary-hover: #28648a;--color-primary-text: #28698f;--color-primary-secondary: #28698f;--color-primary-shadow-rgb: 40 105 143;--color-header: #c9dce8}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--color-background);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}.auth-page{align-items:center;background:var(--color-background);color:var(--color-text-muted);display:flex;flex:1;justify-content:center;min-height:100svh;overflow:auto;padding:5.5rem 1.25rem 2rem;text-align:center}.auth-panel{align-items:center;display:flex;flex-direction:column;margin:auto;width:min(100%,25rem)}.auth-home-link{display:inline-flex;border-radius:50%}.auth-logo{display:block;height:clamp(6rem,15vw,8rem);object-fit:contain;width:clamp(6rem,15vw,8rem)}.auth-title{color:var(--color-primary-text);font-size:clamp(2rem,6vw,2.75rem);font-weight:700;letter-spacing:-.035em;line-height:1.1;margin:.5rem 0 0}.auth-description{font-size:1rem;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:1.35rem;width:100%}.auth-field{text-align:left;width:100%}.auth-input{background:var(--color-surface);border:2px solid var(--color-border);border-radius:.75rem;color:var(--color-text);font-size:1.15rem;min-height:4rem;outline:none;padding:.75rem .9rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.auth-input::placeholder{color:var(--color-text-subtle);opacity:.82}.auth-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgb(var(--color-primary-shadow-rgb) / 14%)}.auth-input[aria-invalid=true]{border-color:var(--color-danger)}.password-input-wrap{position:relative}.password-input-wrap .auth-input{padding-right:3.4rem}.password-toggle{align-items:center;background:transparent;border:0;border-radius:50%;color:var(--color-text-subtle);cursor:pointer;display:flex;height:2.75rem;justify-content:center;padding:.5rem;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:2.75rem}.password-toggle svg{fill:none;height:1.5rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:1.5rem}.auth-button{background:var(--color-primary);border:2px solid var(--color-primary);border-radius:.75rem;color:var(--color-on-primary);cursor:pointer;font-size:1.25rem;font-weight:600;min-height:4rem;padding:.75rem 1rem;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease;width:100%}.auth-button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.auth-button:focus-visible,.password-toggle:focus-visible,.auth-text-button:focus-visible,.auth-footer a:focus-visible,.auth-home-link:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.auth-button:disabled{cursor:wait;opacity:.7}.auth-footer{font-size:.95rem;line-height:1.5}.auth-footer p{margin:0 0 .25rem}.auth-footer a,.auth-text-button{color:var(--color-primary-secondary);text-decoration:underline;text-underline-offset:.15em}.auth-footer--inline{margin-bottom:0}.auth-text-button{background:transparent;border:0;cursor:pointer;font-size:.95rem;padding:.15rem 0}.auth-message,.field-error{font-size:.9rem;line-height:1.4;margin:0}.auth-message{border-radius:.5rem;padding:.75rem .9rem;text-align:left;width:100%}.auth-message--error,.field-error{color:var(--color-danger)}.auth-message--success{background:var(--color-success-surface);color:var(--color-success)}.field-error{margin:.35rem .2rem 0}.sr-only{clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media(max-width:520px){.auth-page{padding:5rem 1.25rem 1.5rem}.auth-input{font-size:1.05rem;min-height:3.65rem}.auth-button{min-height:3.65rem}}
