body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f5f5;min-height:100vh;margin:0;font-family:"Source Sans 3",-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}html,body,#root{height:100%}.password-reset-container{justify-content:center;align-items:center;width:100%;display:flex}.password-reset-form{width:100%}.password-reset-form__title{text-align:center;color:#2d3748;letter-spacing:-.02em;margin-bottom:1rem;font-size:1.75rem;font-weight:700}.password-reset-form__description{text-align:center;color:#4a5568;margin-bottom:2rem;font-size:.875rem;line-height:1.5}.password-reset-form__error{color:#c33;background:linear-gradient(135deg,#fee 0%,#fef2f2 100%);border:1px solid #fcc;border-radius:12px;margin-bottom:1rem;padding:1rem;font-size:.875rem;box-shadow:0 2px 8px #fcc3}.password-reset-form__field{margin-bottom:1.5rem}.password-reset-form__label{color:#2d3748;letter-spacing:.025em;margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:block}.password-reset-form__input{box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:2px solid #e2e8f0;border-radius:12px;width:100%;padding:1rem;font-size:1rem;transition:all .2s}.password-reset-form__input:focus{background:#fff;border-color:#667eea;outline:none;transform:translateY(-1px);box-shadow:0 0 0 3px #667eea1a}.password-reset-form__input--error{background:#fed7d74d;border-color:#e53e3e}.password-reset-form__input--error:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.password-reset-form__input:disabled{cursor:not-allowed;opacity:.6;background:#f8f9facc;transform:none}.password-reset-form__field-error{color:#e53e3e;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.75rem;font-weight:500;display:flex}.password-reset-form__submit{color:#fff;cursor:pointer;letter-spacing:.025em;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;width:100%;margin-bottom:1rem;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #667eea4d}.password-reset-form__submit:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8 0%,#6b46c1 100%);transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.password-reset-form__submit:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #667eea4d}.password-reset-form__submit:disabled{cursor:not-allowed;box-shadow:none;background:linear-gradient(135deg,#a0aec0 0%,#718096 100%);transform:none}.password-reset-form__links{text-align:center;margin-bottom:1rem}.password-reset-form__link{color:#667eea;border-radius:8px;padding:.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.password-reset-form__link:hover{color:#764ba2;background:#667eea1a;transform:translateY(-1px)}.password-reset-form__return-info{text-align:center;color:#4a5568;background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);border:1px solid #e2e8f0;border-radius:12px;padding:.75rem;font-size:.75rem;box-shadow:0 2px 4px #0000000d}.password-reset-success{text-align:center;width:100%}.password-reset-success__icon{color:#fff;background:linear-gradient(135deg,#28a745 0%,#20c997 100%);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;font-size:2rem;font-weight:700;display:flex;box-shadow:0 8px 24px #28a7454d}.password-reset-success__title{color:#2d3748;letter-spacing:-.02em;margin-bottom:1rem;font-size:1.75rem;font-weight:700}.password-reset-success__message{color:#4a5568;margin-bottom:2rem;font-size:.875rem;line-height:1.5}.password-reset-success__actions{flex-direction:column;gap:1rem;display:flex}.password-reset-success__button{text-align:center;cursor:pointer;letter-spacing:.025em;border:none;border-radius:12px;padding:1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s}.password-reset-success__button--primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);box-shadow:0 4px 12px #667eea4d}.password-reset-success__button--primary:hover{background:linear-gradient(135deg,#5a67d8 0%,#6b46c1 100%);text-decoration:none;transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.password-reset-success__button--secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#4a5568;background:#f8f9facc;border:2px solid #e2e8f0}.password-reset-success__button--secondary:hover{background:#edf2f7e6;border-color:#cbd5e0;transform:translateY(-1px)}@media (max-width:768px){.password-reset-form__title,.password-reset-success__title{font-size:1.5rem}.password-reset-form__input,.password-reset-form__submit,.password-reset-success__button{padding:.875rem}}@media (max-width:480px){.password-reset-form__title,.password-reset-success__title{font-size:1.25rem}.password-reset-form__input,.password-reset-form__submit,.password-reset-success__button{border-radius:10px;padding:.75rem}.password-reset-success__icon{width:60px;height:60px;font-size:1.5rem}}.password-reset-form__submit:focus,.password-reset-form__link:focus,.password-reset-success__button:focus{outline-offset:2px;outline:2px solid #667eea}.password-reset-form__input:focus{outline:none}@media (prefers-contrast:high){.password-reset-form__input{background:#fff;border:2px solid #000}.password-reset-form__submit,.password-reset-success__button{border:2px solid #000}.password-reset-success__button--primary{color:#fff;background:#000}}@media (prefers-reduced-motion:reduce){.password-reset-form__input,.password-reset-form__submit,.password-reset-form__link,.password-reset-success__button{transition:none;transform:none}.password-reset-form__submit:hover:not(:disabled),.password-reset-form__input:focus,.password-reset-success__button:hover{transform:none}}.error-boundary{background-color:#f8f9fa;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.error-boundary__content{text-align:center;background:#fff;border-radius:8px;width:100%;max-width:500px;padding:2rem;box-shadow:0 2px 10px #0000001a}.error-boundary__icon{margin-bottom:1rem;font-size:3rem}.error-boundary__title{color:#dc3545;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.error-boundary__message{color:#666;margin-bottom:2rem;font-size:1rem;line-height:1.5}.error-boundary__actions{justify-content:center;gap:1rem;margin-bottom:2rem;display:flex}.error-boundary__button{cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .2s}.error-boundary__button--primary{color:#fff;background-color:#007bff}.error-boundary__button--primary:hover{background-color:#0056b3}.error-boundary__button--secondary{color:#fff;background-color:#6c757d}.error-boundary__button--secondary:hover{background-color:#545b62}.error-boundary__details{text-align:left;border:1px solid #dee2e6;border-radius:4px;margin-top:1rem}.error-boundary__details-summary{cursor:pointer;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;padding:.75rem;font-weight:500}.error-boundary__details-summary:hover{background-color:#e9ecef}.error-boundary__error-info{padding:1rem}.error-boundary__error-info h4{color:#495057;margin:0 0 .5rem;font-size:.875rem}.error-boundary__error-text{white-space:pre-wrap;color:#495057;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin-bottom:1rem;padding:.75rem;font-family:Courier New,monospace;font-size:.75rem;overflow-x:auto}@media (max-width:480px){.error-boundary{padding:.5rem}.error-boundary__content{padding:1.5rem}.error-boundary__actions{flex-direction:column}.error-boundary__button{width:100%}}.error-boundary__button:focus,.error-boundary__details-summary:focus{outline-offset:2px;outline:2px solid #007bff}@media (prefers-contrast:high){.error-boundary__content,.error-boundary__button{border:2px solid #000}}.authentication-page{background:#f7f5f5;flex-direction:column;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.authentication-page__background{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.authentication-page__bg-bottom{opacity:.15;mix-blend-mode:multiply;background-position:50%;background-repeat:no-repeat;background-size:cover;height:645px;position:absolute;bottom:-130px;left:0;right:0}.authentication-page__bg-bottom:after{content:"";background:linear-gradient(#f7f5f5 0%,#f7f5f500 26%,#f7f5f5ab 100%);position:absolute;top:0;bottom:0;left:0;right:0}.authentication-page__bg-top{opacity:.15;mix-blend-mode:multiply;background-position:50%;background-repeat:no-repeat;background-size:cover;height:645px;position:absolute;top:-130px;left:0;right:0;transform:scaleY(-1)}.authentication-page__bg-top:after{content:"";background:linear-gradient(#f7f5f5 0%,#f7f5f500 26%,#f7f5f5ab 100%);position:absolute;top:0;bottom:0;left:0;right:0}.authentication-page__container{z-index:1;flex-direction:column;flex:1;align-items:center;width:100%;max-width:438px;padding:0 1rem;display:flex;position:relative}.authentication-page__logos{flex-direction:column;align-items:center;width:100%;margin-top:104px;margin-bottom:64px;display:flex;position:relative}.authentication-page__family-logos{opacity:.5;justify-content:center;align-items:center;gap:32px;margin-bottom:16px;display:flex}.authentication-page__wehunt-logo{width:142px;height:32px}.authentication-page__burrel-logo{width:158px;height:32px}.authentication-page__tracker-logo{width:300px;height:40px}.authentication-page__header{text-align:center;width:100%;margin-bottom:64px}.authentication-page__title{color:#000;margin:0 0 16px;font-family:DM Serif Display,serif;font-size:24px;font-weight:400;line-height:1.2}.authentication-page__subtitle{color:#000;margin:0;font-family:"Source Sans 3",sans-serif;font-size:14px;font-weight:400;line-height:20px}.authentication-page__content{width:100%}.authentication-page__container--guest-mode{max-width:920px}.authentication-page__content--two-column{flex-direction:row;align-items:flex-start;gap:0;display:flex}.authentication-page__login-column,.authentication-page__guest-column{flex:1;min-width:0}.authentication-page__column-separator{background-color:#e2e8f0;flex-shrink:0;align-self:stretch;width:1px;margin:0 22px}.authentication-page__mode-switch{text-align:center;margin-top:2rem}.authentication-page__mode-switch p{color:#4a5568;margin:0;font-size:.875rem}.authentication-page__link-button{color:#006c4c;cursor:pointer;font-size:inherit;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-weight:500;text-decoration:none;transition:all .2s}.authentication-page__link-button:hover{color:#004d36;text-decoration:underline}.authentication-page__link-button:focus-visible{outline-offset:2px;outline:2px solid #006c4c}.authentication-page__footer{z-index:1;flex-direction:column;align-items:center;gap:8px;margin-top:auto;padding:2rem 1rem;display:flex;position:relative}.authentication-page__legal-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.authentication-page__legal-links a{color:#444;white-space:nowrap;font-family:"Source Sans 3",sans-serif;font-size:12px;font-weight:400;line-height:normal;text-decoration:none}.authentication-page__legal-links a:hover{text-decoration:underline}.authentication-page__legal-separator{color:#444;font-size:12px}.authentication-page__footer-info{flex-direction:column;align-items:center;gap:8px;display:flex}.authentication-page__footer-language{justify-content:center;margin-top:12px;display:flex}.authentication-page__address,.authentication-page__copyright{color:#444;margin:0;font-family:"Source Sans 3",sans-serif;font-size:12px;font-weight:400}.authentication-page__loading{color:#444;z-index:1;flex-direction:column;justify-content:center;align-items:center;min-height:200px;margin-top:40vh;display:flex;position:relative}.authentication-page__spinner{border:4px solid #0000001a;border-top-color:#006c4c;border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.authentication-page__error{background:#fffffff2;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #00000014}.authentication-page__error h2{color:#000;margin:0 0 1rem;font-family:DM Serif Display,serif;font-size:20px}.authentication-page__error-message{color:#c33;margin:0 0 1rem;font-size:.875rem}.authentication-page__error-note{color:#4a5568;margin:0 0 1rem;font-size:.875rem}.authentication-page__error-details{color:#4a5568;font-size:.8rem}.authentication-page__error-details h3{margin:0 0 .5rem;font-size:.85rem}.authentication-page__error-details ul{margin:0 0 .5rem;padding-left:1.25rem}.authentication-page__error-details code{background:#0000000d;border-radius:4px;padding:.15rem .4rem;font-size:.8rem}@media (max-width:768px){.authentication-page__logos{margin-top:60px;margin-bottom:40px}.authentication-page__header{margin-bottom:40px}.authentication-page__tracker-logo{width:240px;height:32px}.authentication-page__family-logos{gap:20px}.authentication-page__wehunt-logo{width:110px;height:25px}.authentication-page__burrel-logo{width:122px;height:25px}.authentication-page__container--guest-mode{max-width:438px}.authentication-page__content--two-column{flex-direction:column;gap:2rem}.authentication-page__column-separator{align-self:auto;width:100%;height:1px;margin:0}}@media (max-width:480px){.authentication-page__logos{margin-top:40px;margin-bottom:32px}.authentication-page__header{margin-bottom:32px}.authentication-page__title{font-size:20px}.authentication-page__tracker-logo{width:200px;height:27px}.authentication-page__family-logos{gap:16px}.authentication-page__wehunt-logo{width:90px;height:20px}.authentication-page__burrel-logo{width:100px;height:20px}.authentication-page__legal-links{gap:6px}}@media (prefers-reduced-motion:reduce){.authentication-page__spinner{animation:none}}.google-signin-button{color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #747775;border-radius:8px;justify-content:center;align-items:center;width:100%;height:44px;padding:0 12px;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;transition:all .2s;display:flex;position:relative}.google-signin-button:hover:not(:disabled){background:#f8f9fa;border-color:#747775;box-shadow:0 1px 3px #0000001a}.google-signin-button:focus-visible{outline-offset:2px;outline:2px solid #4285f4}.google-signin-button:active:not(:disabled){background:#f1f3f4}.google-signin-button--disabled{color:#9aa0a6;cursor:not-allowed;background:#f8f9fa;border-color:#e8eaed}.google-signin-button--loading{cursor:wait}.google-signin-button__content{justify-content:center;align-items:center;gap:10px;display:flex}.google-signin-button__icon{flex-shrink:0;width:18px;height:18px}.google-signin-button__spinner{border:2px solid #f3f3f3;border-top-color:#4285f4;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:1s linear infinite google-signin-spin}.google-signin-button__text{white-space:nowrap;font-size:14px;font-weight:500;line-height:20px}@keyframes google-signin-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-contrast:high){.google-signin-button{border:2px solid #000}.google-signin-button:focus-visible{outline-offset:2px;outline:3px solid #4285f4}}@media (prefers-reduced-motion:reduce){.google-signin-button{transition:none}.google-signin-button__spinner{border:2px solid #4285f4;border-top-color:#0000;animation:none}}@media (max-width:480px){.google-signin-button{height:44px}.google-signin-button__text{font-size:16px}}.apple-signin-button{color:#fff;cursor:pointer;background:#000;border:none;border-radius:8px;outline:none;justify-content:center;align-items:center;width:100%;height:44px;padding:0 15px;font-family:-apple-system,BlinkMacSystemFont,SF Pro,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:600;line-height:24px;text-decoration:none;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.apple-signin-button:hover:not(.apple-signin-button--disabled):not(.apple-signin-button--loading){background:#1a1a1a}.apple-signin-button:active:not(.apple-signin-button--disabled):not(.apple-signin-button--loading){background:#333}.apple-signin-button:focus-visible{outline-offset:2px;outline:2px solid #007aff}.apple-signin-button--disabled{color:#999;cursor:not-allowed;background:#666}.apple-signin-button--loading{cursor:wait;background:#333}.apple-signin-button--stacked{height:auto;min-height:56px;padding:8px 16px}.apple-signin-button__content{justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.apple-signin-button--stacked .apple-signin-button__content{justify-content:flex-start;gap:12px}.apple-signin-button__labels{flex-direction:column;flex:1;align-items:flex-start;min-width:0;display:flex}.apple-signin-button__sublabel{color:#ffffffb8;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;font-weight:500;line-height:16px;overflow:hidden}.apple-signin-button--disabled .apple-signin-button__sublabel{color:#ffffff73}.apple-signin-button__flags{flex-shrink:0;align-items:center;gap:5px;display:flex}.apple-signin-button__flag{border-radius:2px;flex-shrink:0;width:26px;height:auto;display:block;box-shadow:0 0 0 1px #ffffff59}.apple-signin-button--disabled .apple-signin-button__flags{opacity:.5}@media (max-width:480px){.apple-signin-button__flags{gap:4px}.apple-signin-button__flag{width:20px}}.apple-signin-button__icon{color:#fff;flex-shrink:0;width:18px;height:18px}.apple-signin-button--disabled .apple-signin-button__icon{color:#999}.apple-signin-button__text{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.apple-signin-button__spinner{border:2px solid #0000;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:1s linear infinite apple-signin-spin}@keyframes apple-signin-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:480px){.apple-signin-button{height:44px}.apple-signin-button__text{font-size:16px}}@media (prefers-contrast:high){.apple-signin-button{border:2px solid #fff}.apple-signin-button:focus-visible{outline-offset:3px;outline:3px solid #007aff}}@media (prefers-reduced-motion:reduce){.apple-signin-button{transition:none}.apple-signin-button__spinner{border:2px solid #fff;border-radius:50%;animation:none}}.google-auth-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:1rem 0;padding:1rem;box-shadow:0 1px 3px #0000001a}.google-auth-error__content{flex-direction:column;gap:.75rem;display:flex}.google-auth-error__header{align-items:center;gap:.5rem;display:flex}.google-auth-error__icon{flex-shrink:0;font-size:1.25rem}.google-auth-error__title{color:#dc2626;margin:0;font-size:1rem;font-weight:600}.google-auth-error__description{color:#7f1d1d;margin:0;font-size:.875rem;line-height:1.5}.google-auth-error__actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.google-auth-error__action{cursor:pointer;border:1px solid #0000;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.google-auth-error__action--primary{color:#fff;background-color:#dc2626;border-color:#dc2626}.google-auth-error__action--primary:hover{background-color:#b91c1c;border-color:#b91c1c}.google-auth-error__action--secondary{color:#374151;background-color:#f3f4f6;border-color:#d1d5db}.google-auth-error__action--secondary:hover{background-color:#e5e7eb;border-color:#9ca3af}.google-auth-error__action--tertiary{color:#6b7280;background-color:#0000;border-color:#0000}.google-auth-error__action--tertiary:hover{color:#374151;background-color:#f9fafb}.google-auth-error__help{border-top:1px solid #fecaca;margin-top:.75rem;padding-top:.75rem}.google-auth-error__details{font-size:.875rem}.google-auth-error__details-summary{color:#7f1d1d;cursor:pointer;align-items:center;gap:.5rem;padding:.25rem 0;font-weight:500;list-style:none;display:flex}.google-auth-error__details-summary::-webkit-details-marker{display:none}.google-auth-error__details-summary:before{content:"▶";font-size:.75rem;transition:transform .2s}.google-auth-error__details[open] .google-auth-error__details-summary:before{transform:rotate(90deg)}.google-auth-error__details-summary:hover{color:#991b1b}.google-auth-error__details-content{color:#7f1d1d;padding:.5rem 0}.google-auth-error__help-list{margin:0;padding-left:1.25rem;list-style-type:decimal}.google-auth-error__help-list li{margin-bottom:.25rem;line-height:1.4}.google-auth-error__action:focus{outline-offset:2px;outline:2px solid #3b82f6}.google-auth-error__details-summary:focus{outline-offset:2px;border-radius:2px;outline:2px solid #3b82f6}@media (max-width:480px){.google-auth-error{padding:.75rem}.google-auth-error__actions{flex-direction:column}.google-auth-error__action{text-align:center;width:100%}}@media (prefers-contrast:high){.google-auth-error{border:2px solid #dc2626}.google-auth-error__action{border-width:2px}}.google-auth-error--info{background-color:#eff6ff;border-color:#bfdbfe}.google-auth-error--info .google-auth-error__title{color:#1d4ed8}.google-auth-error--info .google-auth-error__description{color:#1e3a8a}.google-auth-error--warning{background-color:#fffbeb;border-color:#fed7aa}.google-auth-error--warning .google-auth-error__title{color:#d97706}.google-auth-error--warning .google-auth-error__description{color:#92400e}.login-form-container{justify-content:center;align-items:center;width:100%;display:flex}.login-form{flex-direction:column;gap:1.5rem;width:100%;display:flex}.login-form__title{text-align:center;color:#2d3748;letter-spacing:-.02em;margin-bottom:2rem;font-size:1.75rem;font-weight:700}.login-form__error{color:#c33;background:linear-gradient(135deg,#fee 0%,#fef2f2 100%);border:1px solid #fcc;border-radius:12px;margin-bottom:1rem;padding:1rem;font-size:.875rem;box-shadow:0 2px 8px #fcc3}.login-form__error--apple{color:#d63384;background:linear-gradient(135deg,#fef7f0 0%,#fefcfb 100%);border:1px solid #f4a261;box-shadow:0 2px 8px #f4a26133}.login-form__error-actions{gap:.5rem;margin-top:.5rem;display:flex}.login-form__error-button{cursor:pointer;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.75rem;font-weight:500;transition:all .2s}.login-form__error-button--retry{color:#fff;background:linear-gradient(135deg,#007aff 0%,#0056b3 100%);box-shadow:0 2px 4px #007aff33}.login-form__error-button--retry:hover{background:linear-gradient(135deg,#0056b3 0%,#003d82 100%);transform:translateY(-1px);box-shadow:0 4px 8px #007aff4d}.login-form__error-button--dismiss{color:#fff;background:linear-gradient(135deg,#6c757d 0%,#545b62 100%);box-shadow:0 2px 4px #6c757d33}.login-form__error-button--dismiss:hover{background:linear-gradient(135deg,#545b62 0%,#3d4449 100%);transform:translateY(-1px);box-shadow:0 4px 8px #6c757d4d}.login-form__field{margin-bottom:1.5rem}.login-form__label{color:#2d3748;letter-spacing:.025em;margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:block}.login-form__input{box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:2px solid #e2e8f0;border-radius:12px;width:100%;padding:1rem;font-size:1rem;transition:all .2s}.login-form__input:focus{background:#fff;border-color:#667eea;outline:none;transform:translateY(-1px);box-shadow:0 0 0 3px #667eea1a}.login-form__input--error{background:#fed7d74d;border-color:#e53e3e}.login-form__input--error:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.login-form__input:disabled{cursor:not-allowed;opacity:.6;background:#f8f9facc;transform:none}.login-form__field-error{color:#e53e3e;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.75rem;font-weight:500;display:flex}.login-form__submit{color:#fff;cursor:pointer;letter-spacing:.025em;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;width:100%;margin-bottom:1rem;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #667eea4d}.login-form__submit:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8 0%,#6b46c1 100%);transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.login-form__submit:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #667eea4d}.login-form__submit:disabled{cursor:not-allowed;box-shadow:none;background:linear-gradient(135deg,#a0aec0 0%,#718096 100%);transform:none}.login-form__links{text-align:center;margin-bottom:1rem}.login-form__link{color:#667eea;border-radius:8px;padding:.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.login-form__link:hover{color:#764ba2;background:#667eea1a;transform:translateY(-1px)}.login-form__return-info{text-align:center;color:#4a5568;background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);border:1px solid #e2e8f0;border-radius:12px;padding:.75rem;font-size:.75rem;box-shadow:0 2px 4px #0000000d}.login-form__social-section{flex-direction:column;gap:16px;margin-bottom:0;transition:opacity .3s,transform .3s;display:flex}.login-form__help-section{text-align:center;margin-top:32px}.login-form__help-link{color:#666;font-family:"Source Sans 3",sans-serif;font-size:14px;font-weight:500;line-height:20px;text-decoration:none}.login-form__help-link:hover{color:#333;text-decoration:underline}.login-form__social-section--hidden{opacity:.5;pointer-events:none}.login-form__apple-section{flex-direction:column;gap:8px;width:100%;display:flex}.login-form__apple-button{width:100%}.login-form__apple-hint{color:#6b6b6b;text-align:center;margin:0;font-size:13px;line-height:18px}.login-form__google-section,.login-form__google-button{width:100%}.login-form__divider{text-align:center;margin:2rem 0;position:relative}.login-form__divider:before{content:"";background:linear-gradient(90deg,#0000,#e2e8f0cc 20% 80%,#0000);height:1px;position:absolute;top:50%;left:0;right:0}.login-form__divider-text{color:#718096;z-index:1;text-transform:uppercase;letter-spacing:.1em;background:#f7f5f5;padding:0 2rem;font-size:.875rem;font-weight:600;position:relative}.login-form__email-form{background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:1rem;padding:1.5rem;transition:opacity .3s,transform .3s;display:flex;position:relative;box-shadow:0 2px 8px #00000014}.login-form__email-close-button{color:#718096;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:.25rem .5rem;font-size:1.5rem;line-height:1;transition:all .2s;display:flex;position:absolute;top:.75rem;right:.75rem}.login-form__email-close-button:hover{color:#2d3748;background:#0000000d}.login-form__email-close-button:focus-visible{outline-offset:2px;outline:2px solid #667eea}.login-form__email-toggle-button{color:#4a5568;cursor:pointer;background:linear-gradient(135deg,#fff 0%,#f7fafc 100%);border:2px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s;display:flex;box-shadow:0 2px 4px #0000000d}.login-form__email-toggle-button:hover:not(:disabled){background:linear-gradient(135deg,#f7fafc 0%,#edf2f7 100%);border-color:#cbd5e0;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.login-form__email-toggle-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000000d}.login-form__email-toggle-button:disabled{opacity:.6;cursor:not-allowed}.login-form__email-toggle-button:focus-visible{outline-offset:2px;outline:2px solid #667eea}.login-form__email-form--hidden{opacity:.5;pointer-events:none}.login-form__progress-indicator{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#4a5568;background:#f7fafccc;border:1px solid #e2e8f099;border-radius:12px;justify-content:center;align-items:center;margin:1rem 0;padding:1.25rem;font-size:.875rem;font-weight:500;display:flex;box-shadow:0 2px 8px #0000000d}.login-form__progress-indicator--google{color:#2b6cb0;background:linear-gradient(135deg,#ebf8ff 0%,#f0f9ff 100%);border-color:#4285f44d}.login-form__progress-indicator--apple{color:#212529;background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);border-color:#0000001a}.login-form__progress-indicator--email{color:#1a365d;background:linear-gradient(135deg,#e6f3ff 0%,#f0f9ff 100%);border-color:#667eea4d}@media (max-width:768px){.login-form__title{font-size:1.5rem}.login-form__input,.login-form__submit{padding:.875rem}}@media (max-width:480px){.login-form__title{font-size:1.25rem}.login-form__input,.login-form__submit{border-radius:10px;padding:.75rem}.login-form__divider{margin:1.5rem 0}.login-form__divider-text{padding:0 1.5rem}}.login-form__submit:focus,.login-form__link:focus{outline-offset:2px;outline:2px solid #667eea}.login-form__input:focus{outline:none}@media (prefers-contrast:high){.login-form__input{background:#fff;border:2px solid #000}.login-form__submit{color:#fff;background:#000;border:2px solid #000}.login-form__divider:before{background:#000}}@media (prefers-reduced-motion:reduce){.login-form__input,.login-form__submit,.login-form__link,.login-form__error-button{transition:none;transform:none}.login-form__submit:hover:not(:disabled),.login-form__input:focus{transform:none}}.unsupported-client{background-color:#f8f9fa;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.unsupported-client__container{text-align:center;background:#fff;border-radius:8px;width:100%;max-width:500px;padding:2rem;box-shadow:0 2px 10px #0000001a}.unsupported-client__icon{margin-bottom:1rem;font-size:3rem}.unsupported-client__title{color:#dc3545;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600;line-height:1.3}.unsupported-client__message{margin-bottom:1.5rem}.unsupported-client__error{color:#dc3545;margin-bottom:1rem;font-size:1rem;font-weight:500}.unsupported-client__help{color:#6c757d;margin:0;font-size:.9rem;line-height:1.5}.unsupported-client__details{text-align:left;background-color:#f8f9fa;border-radius:4px;margin-bottom:1.5rem;padding:1rem}.unsupported-client__client-info{color:#495057;margin:0;font-size:.9rem}.unsupported-client__client-info code{color:#495057;background-color:#e9ecef;border-radius:3px;padding:.2rem .4rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem}.unsupported-client__actions{justify-content:center;gap:1rem;display:flex}.unsupported-client__retry-button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:background-color .2s}.unsupported-client__retry-button:hover{background-color:#0056b3}.unsupported-client__retry-button:focus{outline-offset:2px;outline:2px solid #007bff}.unsupported-client__retry-button:active{background-color:#004085}@media (max-width:576px){.unsupported-client{padding:.5rem}.unsupported-client__container{padding:1.5rem}.unsupported-client__title{font-size:1.25rem}.unsupported-client__icon{font-size:2.5rem}}.loading-spinner{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.loading-spinner--overlay{z-index:9999;background-color:#fffc;position:fixed;top:0;bottom:0;left:0;right:0}.loading-spinner__spinner{border:3px solid #f3f3f3;border-top-color:#007bff;border-radius:50%;animation:1s linear infinite loading-spin}.loading-spinner__spinner--small{border-width:2px;width:20px;height:20px}.loading-spinner__spinner--medium{border-width:3px;width:40px;height:40px}.loading-spinner__spinner--large{border-width:4px;width:60px;height:60px}.loading-spinner__message{color:#666;text-align:center;max-width:200px;font-size:.875rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-contrast:high){.loading-spinner__spinner{border-color:#007bff #000 #000}}@media (prefers-reduced-motion:reduce){.loading-spinner__spinner{border-top-color:#007bff;animation:none}}.client-aware-login{width:100%}.client-aware-login__header{text-align:center;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:8px 8px 0 0;margin-bottom:1.5rem;padding:1rem}.client-aware-login__client-info{color:#495057;margin:0;font-size:.9rem;line-height:1.4}.client-aware-login__client-info strong{color:#212529;font-weight:600}@media (max-width:576px){.client-aware-login__header{margin-bottom:1rem;padding:.75rem}.client-aware-login__client-info{font-size:.85rem}}.guest-email-form{background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);border:1px solid #e2e8f0;border-radius:12px;width:100%;padding:1.5rem;box-shadow:0 2px 8px #00000014}.guest-email-form__title{color:#000;margin:0 0 24px;font-family:DM Serif Display,serif;font-size:20px;font-weight:400;line-height:1.2}.guest-email-form__field{margin-bottom:1.5rem}.guest-email-form__label{color:#2d3748;letter-spacing:.025em;margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:block}.guest-email-form__input{box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:2px solid #e2e8f0;border-radius:12px;width:100%;padding:1rem;font-size:1rem;transition:all .2s}.guest-email-form__input:focus{background:#fff;border-color:#006c4c;outline:none;transform:translateY(-1px);box-shadow:0 0 0 3px #006c4c1a}.guest-email-form__input--error{background:#fed7d74d;border-color:#e53e3e}.guest-email-form__input--error:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.guest-email-form__input:disabled{cursor:not-allowed;opacity:.6;background:#f8f9facc;transform:none}.guest-email-form__field-error{color:#e53e3e;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.75rem;font-weight:500;display:flex}.guest-email-form__submit{color:#fff;cursor:pointer;letter-spacing:.025em;background:#006c4c;border:none;border-radius:12px;width:100%;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #006c4c4d}.guest-email-form__submit:hover:not(:disabled){background:#004d36;transform:translateY(-2px);box-shadow:0 6px 20px #006c4c66}.guest-email-form__submit:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #006c4c4d}.guest-email-form__submit:disabled{cursor:not-allowed;box-shadow:none;background:#a0aec0;transform:none}.guest-email-form__submit:focus-visible{outline-offset:2px;outline:2px solid #006c4c}@media (max-width:768px){.guest-email-form__input,.guest-email-form__submit{padding:.875rem}}@media (max-width:480px){.guest-email-form__input,.guest-email-form__submit{border-radius:10px;padding:.75rem}}@media (prefers-contrast:high){.guest-email-form__input{background:#fff;border:2px solid #000}.guest-email-form__submit{color:#fff;background:#000;border:2px solid #000}}@media (prefers-reduced-motion:reduce){.guest-email-form__input,.guest-email-form__submit{transition:none;transform:none}.guest-email-form__submit:hover:not(:disabled),.guest-email-form__input:focus{transform:none}}.language-switcher{align-items:center;gap:.5rem;font-family:"Source Sans 3",sans-serif;display:inline-flex}.language-switcher__label{color:#444;font-size:12px}.language-switcher__select{color:#444;cursor:pointer;background-color:#fff;border:1px solid #c8c8c8;border-radius:4px;padding:.25rem .5rem;font-family:inherit;font-size:12px}.language-switcher__select:hover{border-color:#8c8c8c}.language-switcher__select:focus-visible{outline-offset:1px;outline:2px solid #2f6f4f}.dashboard{background-color:#f7fafc;min-height:100vh}.dashboard__container{max-width:1200px;margin:0 auto;padding:0}.dashboard__header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;box-shadow:0 1px 3px #0000001a}.dashboard__title{color:#2d3748;margin:0;font-size:1.5rem;font-weight:600}.dashboard__user-info,.dashboard__user{align-items:center;gap:1rem;display:flex}.dashboard__user-email{color:#4a5568;font-size:.875rem;font-weight:500}.dashboard__sign-out{color:#fff;cursor:pointer;background:#e53e3e;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .2s}.dashboard__sign-out:hover:not(:disabled){background:#c53030}.dashboard__sign-out:disabled{opacity:.6;cursor:not-allowed}.dashboard__content{padding:2rem}.dashboard__welcome{background:#fff;border-radius:8px;margin-bottom:2rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.dashboard__welcome h2{color:#2d3748;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.dashboard__welcome>p{color:#4a5568;margin:0 0 2rem}.dashboard__user-details,.dashboard__platform-info{border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:2rem}.dashboard__user-details h3,.dashboard__platform-info h3{color:#2d3748;margin:0 0 1rem;font-size:1rem;font-weight:600}.dashboard__user-list,.dashboard__platform-list{grid-template-columns:auto 1fr;gap:.5rem 1rem;margin:0;display:grid}.dashboard__user-list dt,.dashboard__platform-list dt{color:#4a5568;font-size:.875rem;font-weight:500}.dashboard__user-list dd,.dashboard__platform-list dd{color:#2d3748;word-break:break-all;margin:0;font-size:.875rem}.dashboard__error{color:#c53030;background:#fed7d7;border:1px solid #feb2b2;border-radius:8px;padding:1rem}.dashboard__error h3{margin:0 0 .5rem;font-size:1rem;font-weight:600}.dashboard__error p{margin:0;font-size:.875rem}@media (max-width:768px){.dashboard__header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem}.dashboard__user-info{justify-content:space-between;width:100%}.dashboard__content{padding:1rem}.dashboard__welcome{padding:1.5rem}.dashboard__user-list,.dashboard__platform-list{grid-template-columns:1fr;gap:.25rem}.dashboard__user-list dt,.dashboard__platform-list dt{font-weight:600}}.App{text-align:center}.App-header{color:#fff;background-color:#282c34;padding:20px}.App-main{flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 140px);padding:20px;display:flex}
