:root{--color-title-desc:#80aac3;--color-brand-active:#9abc6b;--color-text:#76849a;--color-brand-inactive:#818181;--color-placeholder:#b8b8b8;--color-card-border:#e3e3e3;--color-background:#fafbfb;--color-white:#fff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;font-family:Poppins,sans-serif;line-height:1.6}#root{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3,h4,h5,h6{color:var(--color-title-desc);line-height:1.3}a{color:var(--color-brand-active);text-decoration:none}a:hover{opacity:.85}.page-fade-in{animation:.3s ease-in-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.skeleton{background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 50%,#f2f2f2 75%) 0 0/200% 100%;border-radius:6px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.login-opened,.login-opened body,.login-opened #root{width:100%;height:100%;position:fixed;overflow:hidden}.login-page{background-color:var(--color-background);flex-direction:column;height:100%;padding:3rem 2rem 1.75rem;animation:.3s ease-in-out forwards fadeIn;display:flex;overflow:hidden}.login-header{flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.login-header-logo{object-fit:contain;width:48px;height:48px}.login-header-brand{color:var(--color-title-desc);letter-spacing:-.5px;font-family:Poppins,sans-serif;font-size:1.625rem;font-weight:700}.login-welcome-title{color:var(--color-brand-active);text-align:left;margin-bottom:1.5rem;font-family:Poppins,sans-serif;font-size:1.75rem;font-weight:700}.login-form{flex-direction:column;gap:1.25rem;width:100%;display:flex}.input-underline-wrapper{border-bottom:1.5px solid var(--color-card-border);align-items:center;width:100%;padding:.375rem 0;transition:border-color .2s;display:flex;position:relative}.input-underline-wrapper:focus-within{border-color:var(--color-title-desc)}.input-underline-wrapper.input-error{border-color:#e57373}.input-icon{color:var(--color-placeholder);justify-content:center;align-items:center;margin-right:.75rem;font-size:1.25rem;display:flex}.input-underline-field{width:100%;color:var(--color-text);background:0 0;border:none;outline:none;padding:.25rem 0;font-family:Poppins,sans-serif;font-size:1rem;font-weight:400}.input-underline-field::placeholder{color:var(--color-placeholder)}.input-error-message{color:#e57373;margin-top:.375rem;font-size:.75rem;line-height:1.3;display:block}.login-options-row{justify-content:space-between;align-items:center;margin-top:.5rem;font-size:.875rem;display:flex}.login-remember-me{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-text);align-items:center;display:flex}.login-remember-checkbox{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkbox-custom{background-color:var(--color-white);border:1.5px solid var(--color-card-border);border-radius:4px;width:18px;height:18px;margin-right:.5rem;transition:all .2s;display:inline-block;position:relative}.login-remember-me:hover .checkbox-custom{border-color:var(--color-title-desc)}.login-remember-checkbox:checked~.checkbox-custom{background-color:var(--color-title-desc);border-color:var(--color-title-desc)}.checkbox-custom:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;display:none;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.login-remember-checkbox:checked~.checkbox-custom:after{display:block}.remember-text{color:var(--color-text);font-family:Poppins,sans-serif}.forgot-password-link{color:var(--color-text);font-family:Poppins,sans-serif;text-decoration:none;transition:color .2s}.forgot-password-link:hover{color:var(--color-title-desc)}.login-submit-container{justify-content:center;margin-top:1.5rem;margin-bottom:1.5rem;display:flex}.login-submit-btn-pill{width:100%;max-width:320px;height:48px;color:var(--color-white);background-color:var(--color-brand-active);cursor:pointer;border:none;border-radius:24px;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;transition:opacity .2s,transform .1s}.login-submit-btn-pill:hover{opacity:.9}.login-submit-btn-pill:active{transform:scale(.98)}.login-submit-btn-pill:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-main-container{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:400px;margin:0 auto;display:flex}.login-footer{justify-content:center;align-items:center;gap:.35rem;margin-top:2rem;font-size:.9375rem;display:flex}.footer-text{color:var(--color-text)}.footer-link{color:var(--color-title-desc);font-family:Poppins,sans-serif;font-weight:700;text-decoration:none;transition:opacity .2s}.footer-link:hover{opacity:.8}.login-general-error{color:#c62828;background-color:#e5737314;border:1px solid #e5737340;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8125rem;line-height:1.4;display:flex}@media (width>=768px){html,body,.login-opened,.login-opened body{width:auto;height:auto;position:static;overflow:auto}#root,.login-opened #root{height:auto;min-height:100dvh;overflow:visible}.login-page{justify-content:center;align-items:center;height:auto;min-height:100dvh;padding:3rem;overflow:visible}.login-header{margin-bottom:2rem}.login-main-container{flex:none;max-width:380px}.login-form{max-width:100%}}.forgot-password-link-btn{color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:0;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:400;transition:color .2s}.forgot-password-link-btn:hover{color:var(--color-title-desc)}.recovery-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#76849a66;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.recovery-modal-container{background-color:var(--color-white);border:1px solid var(--color-card-border);border-radius:24px;flex-direction:column;width:100%;max-width:340px;padding:1.75rem;display:flex;box-shadow:0 12px 32px #76849a26}.recovery-modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.recovery-modal-title{color:var(--color-title-desc);font-family:Poppins,sans-serif;font-size:1.25rem;font-weight:700;line-height:1.3}.recovery-close-btn{cursor:pointer;color:var(--color-placeholder);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;font-size:1.125rem;transition:color .2s;display:flex}.recovery-close-btn:hover{color:#e57373}.recovery-modal-description{color:var(--color-text);margin-bottom:1.5rem;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5}.recovery-input-group{margin-bottom:1.5rem}.recovery-input-underline{border-bottom:1.5px solid var(--color-card-border);align-items:center;width:100%;padding:.375rem 0;transition:border-color .2s;display:flex;position:relative}.recovery-input-underline:focus-within{border-color:var(--color-title-desc)}.recovery-input-underline.input-error{border-color:#e57373}.recovery-icon{color:var(--color-placeholder);align-items:center;margin-right:.75rem;font-size:1.15rem;display:flex}.recovery-field{width:100%;color:var(--color-text);background:0 0;border:none;outline:none;padding:.25rem 0;font-family:Poppins,sans-serif;font-size:1rem;font-weight:400}.recovery-field::placeholder{color:var(--color-placeholder)}.recovery-modal-actions{gap:.75rem;width:100%;margin-top:1rem;display:flex}.recovery-btn-cancel{background-color:var(--color-background);height:44px;color:var(--color-text);border:1.5px solid var(--color-card-border);cursor:pointer;border-radius:22px;flex:1;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:500;transition:all .2s}.recovery-btn-cancel:hover{background-color:var(--color-card-border);color:var(--color-title-desc)}.recovery-btn-submit{background-color:var(--color-brand-active);height:44px;color:var(--color-white);cursor:pointer;border:none;border-radius:22px;flex:1;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:600;transition:opacity .2s,transform .1s}.recovery-btn-submit:hover{opacity:.9}.recovery-btn-submit:active{transform:scale(.97)}.recovery-btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.recovery-alert{border-radius:12px;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.75rem;font-size:.8125rem;line-height:1.4;display:flex}.recovery-alert.error{color:#c62828;background-color:#e5737314;border:1px solid #e5737340}.recovery-alert.success{color:#2e7d32;background-color:#9abc6b14;border:1px solid #9abc6b40}.cadastro-page{background-color:var(--color-background);flex-direction:column;min-height:100dvh;padding:2.5rem 2rem;animation:.3s ease-in-out forwards fadeIn;display:flex;overflow-y:auto}.cadastro-header{justify-content:flex-start;margin-bottom:2rem;display:flex}.cadastro-logo{object-fit:contain;width:72px;height:72px}.cadastro-welcome-section{text-align:left;margin-bottom:2.5rem}.cadastro-title{color:var(--color-title-desc);margin-bottom:.5rem;font-family:Poppins,sans-serif;font-size:1.625rem;font-weight:700;line-height:1.3}.cadastro-subtitle{color:var(--color-text);font-family:Poppins,sans-serif;font-size:.9375rem;font-weight:400;line-height:1.5}.cadastro-form{flex-direction:column;gap:1.5rem;width:100%;display:flex}.cadastro-input-group{flex-direction:column;display:flex;position:relative}.cadastro-input-wrapper{border-bottom:1.5px solid var(--color-card-border);align-items:center;width:100%;padding:.375rem 0;transition:border-color .2s;display:flex;position:relative}.cadastro-input-wrapper:focus-within{border-color:var(--color-title-desc)}.cadastro-input-wrapper.input-error{border-color:#e57373}.cadastro-field{width:100%;color:var(--color-text);background:0 0;border:none;outline:none;padding:.25rem 0;font-family:Poppins,sans-serif;font-size:1rem;font-weight:400}.cadastro-field::placeholder{color:var(--color-placeholder)}.cadastro-select{cursor:pointer;appearance:none;padding-right:1.5rem}.cadastro-select-arrow{pointer-events:none;color:var(--color-placeholder);font-size:.875rem;position:absolute;right:0}.password-toggle-btn{cursor:pointer;color:var(--color-brand-inactive);background:0 0;border:none;justify-content:center;align-items:center;height:100%;padding:0;font-size:1.125rem;display:flex;position:absolute;right:0}.cadastro-error-message{color:#e57373;margin-top:.375rem;font-size:.75rem;line-height:1.3;display:block}.cadastro-submit-container{justify-content:center;margin-top:2rem;margin-bottom:1.5rem;display:flex}.cadastro-submit-btn{width:100%;max-width:320px;height:48px;color:var(--color-white);background-color:var(--color-brand-active);cursor:pointer;border:none;border-radius:24px;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;transition:opacity .2s,transform .1s}.cadastro-submit-btn:hover{opacity:.9}.cadastro-submit-btn:active{transform:scale(.98)}.cadastro-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.cadastro-general-alert{border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8125rem;line-height:1.4;display:flex}.cadastro-general-alert.error{color:#c62828;background-color:#e5737314;border:1px solid #e5737340}.cadastro-general-alert.success{color:#2e7d32;background-color:#9abc6b14;border:1px solid #9abc6b40}.cadastro-back-to-login{justify-content:center;align-items:center;margin-top:auto;padding-top:1.5rem;display:flex}.back-to-login-link{color:var(--color-title-desc);font-family:Poppins,sans-serif;font-size:.9375rem;font-weight:700;text-decoration:none;transition:opacity .2s}.back-to-login-link:hover{opacity:.8}@media (width>=768px){.cadastro-page{justify-content:center;align-items:center;padding:3rem}.cadastro-content{background-color:var(--color-white);border:1px solid var(--color-card-border);border-radius:24px;width:100%;max-width:440px;padding:2.5rem;box-shadow:0 8px 24px #76849a14}.cadastro-header{justify-content:center;margin-bottom:1.5rem}.cadastro-welcome-section{text-align:center}}.pwa-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#76849a66;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.pwa-modal-container{background-color:var(--color-white);border:1px solid var(--color-card-border);text-align:center;border-radius:24px;flex-direction:column;align-items:center;width:100%;max-width:320px;padding:1.75rem;display:flex;box-shadow:0 12px 32px #76849a26}.pwa-modal-header{flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.pwa-icon-primary{color:var(--color-title-desc);background-color:#80aac31a;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:2.25rem;display:flex}.pwa-modal-title{color:var(--color-title-desc);font-size:1.15rem;font-weight:700;line-height:1.3}.pwa-modal-description{color:var(--color-text);margin-bottom:1.5rem;font-size:.875rem;font-weight:400;line-height:1.5}.pwa-ios-instructions{background-color:var(--color-background);border:1px solid var(--color-card-border);text-align:left;border-radius:12px;width:100%;margin-bottom:1.5rem;padding:1rem}.pwa-ios-instructions p{color:var(--color-title-desc);margin-bottom:.5rem;font-size:.8125rem;font-weight:500}.pwa-ios-instructions ol{margin:0;padding-left:1.125rem}.pwa-ios-instructions li{color:var(--color-text);margin-bottom:.375rem;font-size:.75rem;line-height:1.4}.pwa-ios-instructions li i{color:var(--color-title-desc);font-size:.875rem}.pwa-modal-actions{gap:.75rem;width:100%;display:flex}.pwa-btn-dismiss{background-color:var(--color-background);height:44px;color:var(--color-text);border:1.5px solid var(--color-card-border);cursor:pointer;border-radius:22px;flex:1;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:500;transition:all .2s}.pwa-btn-dismiss:hover{background-color:var(--color-card-border);color:var(--color-title-desc)}.pwa-btn-install{background-color:var(--color-brand-active);height:44px;color:var(--color-white);cursor:pointer;border:none;border-radius:22px;flex:1;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:600;transition:opacity .2s,transform .1s}.pwa-btn-install:hover{opacity:.9}.pwa-btn-install:active{transform:scale(.97)}
