.profile-header{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;text-align:center}.profile-avatar{width:100px!important;height:100px!important;margin-bottom:1rem;border:3px solid var(--ion-color-light);box-shadow:0 4px 12px #0000001a}.large-avatar{width:120px!important;height:120px!important;margin-bottom:1rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:1rem;background:linear-gradient(135deg,#0ea5e914,#3b82f614,#1e40af14)}body.dark .loading-container,.dark .loading-container{background:linear-gradient(135deg,#1e3a8a14,#00000014)}.loading-container ion-spinner{width:48px;height:48px;color:var(--ion-color-primary)}.username{color:var(--ion-color-medium);margin:.5rem 0 1.5rem;font-size:1.1rem}.notification-settings-banner{margin-left:0!important;margin-right:0!important}.user-page ion-card{border-radius:16px;box-shadow:0 4px 12px #0000001a}.user-page ion-item{--padding-start: 1rem;--inner-padding-end: 1rem;margin-bottom:.5rem}.user-page ion-icon{font-size:1.5rem;margin-right:1rem}.roles-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.role-badge{background-color:var(--ion-color-primary);color:#fff;padding:.3rem .8rem;border-radius:16px;font-size:.9rem;display:inline-block}.user-page ion-label h2{font-weight:600;font-size:1rem;color:var(--ion-color-dark)}.user-page ion-label p{font-size:1rem;color:var(--ion-color-medium);margin-top:.3rem}ion-avatar img{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.system-action-button{--border-radius: 12px;--padding-top: 12px;--padding-bottom: 12px;--box-shadow: 0 3px 6px rgba(0, 0, 0, .15);font-weight:600;font-size:.9rem;text-transform:none;max-width:300px;width:100%;margin-top:0;margin-bottom:var(--standard-margin);margin-left:12px;margin-right:12px;transition:all .2s ease}.system-action-button:hover{--box-shadow: 0 4px 8px rgba(0, 120, 194, .3);transform:translateY(-1px)}.system-action-button.system-button-reset{--background: var(--ion-color-primary);--background-activated: var(--ion-color-primary-shade);--color: var(--ion-color-primary-contrast);color:var(--ion-color-primary-contrast)}.system-action-button.system-button-reset:hover{--box-shadow: 0 4px 8px rgba(0, 120, 194, .3)}.system-action-button.system-button-clear{--background: var(--ion-color-danger);--background-activated: var(--ion-color-danger-shade);--color: var(--ion-color-danger-contrast);color:var(--ion-color-danger-contrast)}.system-action-button.system-button-clear:hover{--box-shadow: 0 4px 8px rgba(239, 68, 68, .3)}.logout-button{--border-radius: 12px;--padding-top: 12px;--padding-bottom: 12px;--box-shadow: 0 3px 6px rgba(0, 0, 0, .15);--background: var(--ion-color-danger);--background-activated: var(--ion-color-danger-shade);--color: var(--ion-color-danger-contrast);color:var(--ion-color-danger-contrast);font-weight:600;font-size:.9rem;text-transform:none;margin-top:0;margin-bottom:var(--standard-margin);margin-left:12px;margin-right:12px;transition:all .2s ease}.logout-button:hover{--box-shadow: 0 4px 8px rgba(239, 68, 68, .3);transform:translateY(-1px)}.custom-alert-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.custom-alert-dialog{background:var(--card-background);border-radius:var(--item-border-radius);padding:24px;max-width:360px;width:100%;max-height:calc(100vh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;box-shadow:var(--item-shadow-selected);border:var(--item-border-width) solid var(--item-border-color);position:relative;transform:translateZ(0);-webkit-transform:translateZ(0)}.custom-alert-header{font-size:20px;font-weight:300;color:var(--ion-text-color);margin:0 0 12px}.custom-alert-message{font-size:16px;color:var(--ion-text-color);margin:0 0 24px;line-height:1.5}.custom-alert-buttons{display:flex;justify-content:space-between;gap:12px}.custom-alert-btn{flex:1;min-height:44px;min-width:80px;margin:0;text-transform:capitalize;letter-spacing:.3px;--border-radius: var(--item-border-radius)}
