.profile-container{max-width:700px;margin:40px auto;padding:30px;border:1px solid var(--md-sys-color-outline);border-radius:8px;background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);box-shadow:0 4px 12px #00000014;font-family:var(--font-body)}.profile-container h2{text-align:center;margin-bottom:30px;color:var(--md-sys-color-primary);border-bottom:1px solid var(--md-sys-color-outline);padding-bottom:15px;font-family:var(--font-heading);font-weight:var(--heading-font-weight)}.profile-section{margin-bottom:35px;padding-bottom:25px;border-bottom:1px solid var(--md-sys-color-outline)}.profile-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3{margin:0;color:var(--md-sys-color-primary);font-size:1.3em;font-family:var(--font-heading);font-weight:var(--heading-font-weight)}.profile-display p{margin:8px 0;color:var(--md-sys-color-on-surface);line-height:1.5}.profile-display strong{color:var(--md-sys-color-on-surface);font-weight:var(--body-font-weight-semibold);margin-right:5px}.form-group label,.form-group-checkbox label{display:block;margin-bottom:6px;font-weight:var(--body-font-weight-semibold);color:var(--md-sys-color-on-surface-variant)}.form-input,.form-select{width:100%;padding:10px 12px;border:1px solid var(--md-sys-color-outline);border-radius:4px;box-sizing:border-box;font-size:1em;font-family:var(--font-body);background-color:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant);transition:border-color .2s ease-in-out}.form-input:focus,.form-select:focus{border-color:var(--md-sys-color-primary);outline:none;box-shadow:0 0 0 2px var(--md-sys-color-primary-container)}.form-group-checkbox{margin-bottom:12px}.form-group-checkbox label{display:flex;align-items:center;font-weight:var(--body-font-weight-regular);color:var(--md-sys-color-on-surface)}.form-group-checkbox input[type=checkbox]{margin-right:10px;width:16px;height:16px;cursor:pointer;accent-color:var(--md-sys-color-primary)}.form-group-checkbox a{color:var(--md-sys-color-primary);text-decoration:none;margin-left:5px}.form-group-checkbox a:hover{text-decoration:underline;color:var(--md-sys-color-secondary)}.button-group{margin-top:25px;display:flex;gap:15px;flex-wrap:wrap}.button{padding:10px 18px;border:none;border-radius:20px;cursor:pointer;font-size:1em;font-family:var(--font-body);font-weight:var(--body-font-weight-semibold);text-align:center;transition:background-color .2s ease,box-shadow .2s ease;text-transform:none}.button-primary{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.button-primary:hover{background-color:var(--md-sys-color-secondary)}.button-success{background-color:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary)}.button-success:hover{background-color:var(--md-sys-color-tertiary)}.button-secondary{background-color:transparent;color:var(--md-sys-color-primary);border:1px solid var(--md-sys-color-outline)}.button-secondary:hover{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-color:var(--md-sys-color-primary-container)}.button-danger{background-color:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.button-danger:hover{background-color:color-mix(in srgb,var(--md-sys-color-error) 85%,#000000)}.button-edit{background-color:transparent;color:var(--md-sys-color-primary);padding:6px 12px;font-weight:var(--body-font-weight-regular);border:none}.button-edit:hover{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.button-disabled,.button:disabled{background-color:var(--md-sys-color-surface-variant)!important;color:var(--md-sys-color-on-surface-variant)!important;border-color:var(--md-sys-color-outline)!important;cursor:not-allowed!important;box-shadow:none!important;opacity:.6!important}.field-description{font-size:.9em;color:var(--md-sys-color-on-surface-variant);opacity:.8;margin-top:8px}.data-action{margin-top:15px}.danger-zone{border-top:2px solid var(--md-sys-color-error);padding-top:20px;margin-top:30px}.confirmation-dialog{margin-top:25px;padding:20px;border:1px solid var(--md-sys-color-error);border-radius:6px;background-color:var(--md-sys-color-error-container)}.confirmation-dialog h4{margin-top:0;color:var(--md-sys-color-on-error-container);font-family:var(--font-heading);font-weight:var(--heading-font-weight)}.confirmation-dialog p{color:var(--md-sys-color-on-error-container);margin-bottom:15px}.message-area{margin-bottom:20px;padding:0}.message-success{color:var(--md-sys-color-on-primary-container);background-color:var(--md-sys-color-primary-container);border:1px solid var(--md-sys-color-primary-container);padding:10px 15px;border-radius:4px;margin-bottom:15px}.message-error{color:var(--md-sys-color-on-error-container);background-color:var(--md-sys-color-error-container);border:1px solid var(--md-sys-color-error-container);padding:10px 15px;border-radius:4px;margin-bottom:15px}.loading-message{text-align:center;padding:40px;font-size:1.2em;color:var(--md-sys-color-on-surface)}.logout-section{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid var(--md-sys-color-outline)}.pre-login-container{width:100%;max-width:600px;padding:40px;border:1px solid var(--md-sys-color-outline);border-radius:12px;box-shadow:0 6px 18px #00000014;text-align:center;background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface)}.pre-login-logo{max-width:280px;height:auto;margin-bottom:25px}.pre-login-headline{margin-bottom:15px;color:var(--md-sys-color-primary);font-family:var(--font-heading);font-weight:var(--heading-font-weight);font-size:2.2rem;line-height:1.3}.pre-login-value-prop{margin-bottom:30px;color:var(--md-sys-color-on-surface);font-size:1.1rem;line-height:1.6;max-width:500px;margin-left:auto;margin-right:auto}.pre-login-benefits{display:flex;justify-content:space-around;align-items:flex-start;margin-bottom:40px;gap:20px;flex-wrap:wrap}.benefit-item{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;min-width:120px}.benefit-item span{color:var(--md-sys-color-on-surface);font-size:1rem;font-weight:var(--body-font-weight-semibold);margin-top:8px}.pre-login-cta-container{margin-bottom:25px;display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.pre-login-cta-primary,.pre-login-cta-secondary{padding:12px 30px;border-radius:6px;text-decoration:none;font-family:var(--font-body);font-size:1.1rem;font-weight:var(--body-font-weight-semibold);transition:all .3s ease;cursor:pointer;display:inline-block;border-width:1px;border-style:solid}.pre-login-cta-primary{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-color:var(--md-sys-color-primary)}.pre-login-cta-primary:hover{background-color:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary);border-color:var(--md-sys-color-secondary)}.pre-login-cta-secondary{background-color:var(--md-sys-color-surface);color:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary)}.pre-login-cta-secondary:hover{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-color:var(--md-sys-color-primary-container)}.pre-login-trust-signal{margin-bottom:15px;color:var(--md-sys-color-on-surface);font-size:.9rem;font-weight:var(--body-font-weight-semibold)}.pre-login-learn-more{margin-top:10px;font-size:.9rem}.pre-login-learn-more a{color:var(--md-sys-color-secondary);text-decoration:none;font-weight:var(--body-font-weight-semibold)}.pre-login-learn-more a:hover{text-decoration:underline;color:var(--md-sys-color-primary)}@media (max-width: 600px){.pre-login-container{padding:30px}.pre-login-headline{font-size:1.8rem}.pre-login-value-prop{font-size:1rem}.pre-login-benefits{flex-direction:column;align-items:center;gap:15px;margin-bottom:30px}.pre-login-cta-container{flex-direction:column;gap:15px}.pre-login-cta-primary,.pre-login-cta-secondary{width:100%;box-sizing:border-box}}.message-display{padding:10px 15px;border-radius:4px;margin-bottom:15px;border:1px solid var(--md-sys-color-outline);text-align:center;font-family:var(--font-body);font-weight:var(--body-font-weight-regular)}.message-success{color:var(--md-sys-color-on-primary-container);background-color:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary)}.message-error{color:var(--md-sys-color-on-error);background-color:var(--md-sys-color-error);border-color:var(--md-sys-color-error)}.message-warning{color:var(--md-sys-color-on-secondary-container);background-color:var(--md-sys-color-secondary-container);border-color:var(--md-sys-color-secondary)}.message-info{color:var(--md-sys-color-on-tertiary);background-color:var(--md-sys-color-tertiary);border-color:var(--md-sys-color-tertiary)}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background-color:var(--md-sys-color-surface);font-family:var(--font-body)}.login-container{width:100%;max-width:400px;padding:30px;border:1px solid var(--md-sys-color-outline);border-radius:8px;box-shadow:0 4px 12px #00000014;text-align:center;background-color:var(--md-sys-color-surface)}.login-logo{max-width:250px;height:auto;margin-bottom:20px}.login-title{margin-bottom:25px;color:var(--md-sys-color-primary);font-family:var(--font-heading);font-weight:var(--heading-font-weight);font-size:1.8rem}.login-form{text-align:left}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;color:var(--md-sys-color-on-surface-variant);font-weight:var(--body-font-weight-semibold)}.form-group input{width:100%;padding:10px;border:1px solid var(--md-sys-color-outline);border-radius:4px;box-sizing:border-box;font-size:1rem;font-family:var(--font-body);background-color:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant)}.form-group input:focus{border-color:var(--md-sys-color-primary);outline:none;box-shadow:0 0 0 2px var(--md-sys-color-primary-container)}.login-button{width:100%;padding:12px;background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-family:var(--font-body);font-weight:var(--body-font-weight-semibold);transition:background-color .2s ease}.login-button:hover{background-color:var(--md-sys-color-secondary)}.login-button:disabled{background-color:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant);cursor:not-allowed;opacity:.6}.register-link-container,.forgot-password-container{margin-top:20px;text-align:center;color:var(--md-sys-color-on-surface-variant);font-size:.9rem}.register-link,.forgot-password-link{color:var(--md-sys-color-primary);text-decoration:none;font-weight:var(--body-font-weight-semibold);cursor:pointer}.register-link:hover,.forgot-password-link:hover{text-decoration:underline;color:var(--md-sys-color-secondary)}.login-error-message{color:var(--md-sys-color-on-error);background-color:var(--md-sys-color-error);border:1px solid var(--md-sys-color-error);padding:10px;border-radius:4px;margin-bottom:15px;text-align:left;font-size:.9rem}.registration-success-message{color:var(--md-sys-color-on-primary-container);background-color:var(--md-sys-color-primary-container);border:1px solid var(--md-sys-color-primary);padding:10px;border-radius:4px;margin-bottom:15px;text-align:left;font-size:.9rem}.back-to-login-container{margin-top:15px;text-align:center}.back-to-login-link{color:var(--md-sys-color-on-surface-variant);font-size:.9em;text-decoration:none}.back-to-login-link:hover{color:var(--md-sys-color-primary);text-decoration:underline}.link-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.register-page-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background-color:var(--md-sys-color-surface);font-family:var(--font-body)}.register-container{width:100%;max-width:450px;padding:24px;border:1px solid var(--md-sys-color-outline);border-radius:8px;box-shadow:0 4px 12px #00000014;text-align:center;background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface)}.register-title{margin-bottom:16px;color:var(--md-sys-color-primary);font-family:var(--font-heading);font-weight:var(--heading-font-weight);font-size:1.8rem}.register-form{text-align:left}.register-form-group{margin-bottom:16px}.register-form-group label{color:var(--md-sys-color-on-surface-variant);display:block;margin-bottom:6px;font-weight:var(--body-font-weight-semibold)}.register-form-group input[type=text],.register-form-group input[type=email],.register-form-group input[type=password]{width:100%;padding:12px;border:1px solid var(--md-sys-color-outline);border-radius:4px;box-sizing:border-box;font-size:1rem;line-height:1.5;font-family:var(--font-body);background-color:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant)}.register-form-group input[type=text]:focus,.register-form-group input[type=email]:focus,.register-form-group input[type=password]:focus{border-color:var(--md-sys-color-primary);outline:none;box-shadow:0 0 0 2px var(--md-sys-color-primary-container)}.field-description{font-size:.8rem;color:var(--md-sys-color-on-surface);opacity:.8;margin-top:4px}.register-consent-group{display:flex;align-items:center;margin-top:16px;margin-bottom:24px}.consent-group input[type=checkbox]{margin-right:8px;width:auto;cursor:pointer;flex-shrink:0;accent-color:var(--md-sys-color-primary)}.consent-group label{margin-bottom:0;font-weight:var(--body-font-weight-regular);color:var(--md-sys-color-on-surface);line-height:1.5;font-size:.9rem}.consent-group a{color:var(--md-sys-color-primary);text-decoration:none}.consent-group a:hover{text-decoration:underline;color:var(--md-sys-color-secondary)}.register-button{width:100%;padding:12px 24px;background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-family:var(--font-body);font-weight:var(--body-font-weight-semibold);transition:background-color .2s ease}.register-button:hover:not(:disabled){background-color:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary)}.register-button.button-disabled,.register-button:disabled{background-color:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant);cursor:not-allowed;box-shadow:none;opacity:.6}.register-button.button-disabled:hover,.register-button:disabled:hover{background-color:var(--md-sys-color-surface-variant)}.register-login-link-container{margin-top:24px;text-align:center;color:var(--md-sys-color-on-surface);font-size:.9rem}.login-link{color:var(--md-sys-color-primary);text-decoration:none;font-weight:var(--body-font-weight-semibold);cursor:pointer}.login-link:not(.link-disabled):hover{text-decoration:underline;color:var(--md-sys-color-secondary)}.link-disabled{opacity:.6;cursor:not-allowed;pointer-events:none;text-decoration:none;color:var(--md-sys-color-on-surface-variant)}.register-global-error-message{color:var(--md-sys-color-on-error-container);background-color:var(--md-sys-color-error-container);border:1px solid var(--md-sys-color-error-container);padding:12px;border-radius:4px;margin-bottom:16px;text-align:left;font-size:.9rem}.register-field-error-message{color:var(--md-sys-color-error);font-size:.85em;margin-top:4px;text-align:left}.forgot-password-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background-color:var(--md-sys-color-surface);font-family:var(--font-body)}.forgot-password-container{width:100%;max-width:400px;padding:30px;border:1px solid var(--md-sys-color-outline);border-radius:8px;box-shadow:0 4px 12px #00000014;text-align:center;background-color:var(--md-sys-color-surface)}.forgot-password-title{margin-bottom:15px;color:var(--md-sys-color-primary);font-family:var(--font-heading);font-weight:var(--heading-font-weight);font-size:1.8rem}.forgot-password-instruction{margin-bottom:25px;color:var(--md-sys-color-on-surface-variant);font-size:.95rem;line-height:1.5}.forgot-password-form{text-align:left}.form-group input[type=email]{width:100%;padding:10px;border:1px solid var(--md-sys-color-outline);border-radius:4px;box-sizing:border-box;font-size:1rem;font-family:var(--font-body);background-color:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant)}.form-group input[type=email]:focus{border-color:var(--md-sys-color-primary);outline:none;box-shadow:0 0 0 2px var(--md-sys-color-primary-container)}.reset-button{width:100%;padding:12px;background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-family:var(--font-body);font-weight:var(--body-font-weight-semibold);transition:background-color .2s ease}.reset-button:hover{background-color:var(--md-sys-color-secondary)}.reset-button:disabled{background-color:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant);cursor:not-allowed;opacity:.6}.back-to-login-container{margin-top:20px;text-align:center}.back-to-login-link{color:var(--md-sys-color-primary);text-decoration:none;font-weight:var(--body-font-weight-semibold);cursor:pointer;font-size:.9rem}.back-to-login-link:hover{text-decoration:underline;color:var(--md-sys-color-secondary)}.reset-error-message{color:var(--md-sys-color-on-error);background-color:var(--md-sys-color-error);border:1px solid var(--md-sys-color-error);padding:10px;border-radius:4px;margin-bottom:15px;text-align:left;font-size:.9rem}.reset-success-message{color:var(--md-sys-color-on-primary-container);background-color:var(--md-sys-color-primary-container);border:1px solid var(--md-sys-color-primary);padding:10px;border-radius:4px;margin-bottom:15px;text-align:left;font-size:.9rem}.app-header{display:flex;justify-content:space-between;align-items:center;padding:10px 30px;background-color:var(--md-sys-color-surface-variant);border-bottom:1px solid var(--md-sys-color-outline);box-shadow:0 2px 4px #0000000d;width:100%;box-sizing:border-box}.header-content{display:flex;align-items:center;flex-shrink:0}.header-logo-container{display:flex;align-items:center;margin-right:20px}.header-logo-link img{height:60px;width:auto;margin-right:10px}.company-name{font-family:var(--font-heading);font-weight:var(--heading-font-weight);font-size:1.5rem;color:var(--md-sys-color-primary);white-space:nowrap}.header-nav{display:flex;align-items:center}.header-nav-list{list-style:none;display:flex;align-items:center;gap:30px;margin:0;padding:0}.header-nav-link{font-family:var(--font-body);font-weight:var(--body-font-weight-semibold);font-size:1.1rem;text-decoration:none;color:var(--md-sys-color-on-surface-variant);padding:8px 0;transition:color .2s ease,border-color .2s ease;border-bottom:2px solid transparent}.header-nav-item a:hover{color:var(--md-sys-color-primary)}.header-nav-link.active{color:var(--md-sys-color-primary);border-bottom:2px solid var(--md-sys-color-primary)}.header-logout-button{margin-left:30px;padding:10px 20px;background-color:var(--md-sys-color-error);color:var(--md-sys-color-on-error);border:none;border-radius:5px;cursor:pointer;font-family:var(--font-body);font-weight:var(--body-font-weight-semibold);font-size:1rem;transition:background-color .3s ease,transform .2s ease;box-shadow:0 2px 4px #0003;white-space:nowrap;display:flex;align-items:center;justify-content:center}.header-logout-button:hover{background-color:color-mix(in srgb,var(--md-sys-color-error) 85%,#000000)}.header-logout-button:disabled{background-color:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant);cursor:not-allowed;opacity:.6;box-shadow:none}.layout-link,.layout-logo-link{text-decoration:none;color:var(--md-sys-color-primary);font-weight:var(--body-font-weight-semibold);padding:5px 0;transition:color .2s ease}.layout-logo-link{font-family:var(--font-heading);font-weight:var(--heading-font-weight);font-size:1.3rem}.layout-link:hover{color:var(--md-sys-color-secondary)}.layout-main{padding:20px;background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface)}:root{--md-sys-color-primary: #0047AB;--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #E0E0E0;--md-sys-color-on-primary-container: #0047AB;--md-sys-color-secondary: #008080;--md-sys-color-on-secondary: #FFFFFF;--md-sys-color-secondary-container: #E0FFFF;--md-sys-color-on-secondary-container: #008080;--md-sys-color-tertiary: #003366;--md-sys-color-on-tertiary: #FFFFFF;--md-sys-color-error: #B00020;--md-sys-color-on-error: #FFFFFF;--md-sys-color-surface: #F8F8F8;--md-sys-color-on-surface: #1C1B1F;--md-sys-color-surface-variant: #E0E0E0;--md-sys-color-on-surface-variant: #49454F;--md-sys-color-outline: #79747E;--md-sys-color-inverse-primary: #6699FF;--md-sys-color-inverse-surface: #2F3134;--md-sys-color-on-inverse-surface: #F8F8F8;--font-heading: "Montserrat", sans-serif;--font-body: "Open Sans", sans-serif;--heading-font-weight: 700;--body-font-weight-regular: 400;--body-font-weight-semibold: 600;font-size:16px}body{font-family:var(--font-body);font-weight:var(--body-font-weight-regular);color:var(--md-sys-color-on-surface);background-color:var(--md-sys-color-surface);margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--heading-font-weight);color:var(--md-sys-color-on-surface)}h1{font-size:3.5625rem;line-height:4rem;letter-spacing:-.015625em}h2{font-size:2rem;line-height:2.5rem}h3{font-size:1.375rem;line-height:1.75rem}a{color:var(--md-sys-color-primary);text-decoration:none}a:hover{color:var(--md-sys-color-secondary);text-decoration:underline}
