.profile-container {

    .page-header {
        margin-bottom: 2rem;

        h1 {
            margin-bottom: 0.5rem;
            font-weight: 600;
        }
    }

    .profile-layout {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;

        @media (min-width: 992px) {
            flex-direction: row;
        }
    }

    .sidebar {
        flex: 0 0 100%;

        @media (min-width: 992px) {
            flex: 0 0 300px;
        }

        .avatar-section {
            background-color: #fff;
            border: 1px solid #e9ecef;
            border-radius: 0.25rem;
            padding: 1.5rem;
            text-align: center;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
            margin-bottom: 1.5rem;

            .user-avatar {
                width: 120px;
                height: 120px;
                margin: 0 auto;
                border-radius: 50%;
                overflow: hidden;
                border: 3px solid #f8f9fa;
                box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);

                .avatar-image {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }

                .avatar-placeholder {
                    width: 100%;
                    height: 100%;
                    background: #343a40;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    font-size: 2.5rem;
                    color: white;
                    font-weight: 300;
                }
            }

            .user-name {
                font-size: 1.25rem;
                font-weight: 600;
                margin: 0.5rem 0 0.25rem;
            }
            
            .user-email {
                font-size: 0.9rem;
                color: #6c757d;
                margin-bottom: 0.5rem;
                word-break: break-all;
            }
            
            .status-badges {
                .badge {
                    font-size: 0.75rem;
                    padding: 0.35rem 0.65rem;
                }
            }
        }

        .profile-actions {
            background-color: #fff;
            border: 1px solid #e9ecef;
            border-radius: 0.25rem;
            padding: 1.5rem;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);

            .btn-block {
                width: 100%;
                margin-bottom: 0.75rem;

                &:last-child {
                    margin-bottom: 0;
                }
            }
        }

        .sidebar-links {
            background-color: #fff;
            border: 1px solid #e9ecef;
            border-radius: 0.25rem;
            padding: 1.5rem;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
            
            .sidebar-heading {
                font-size: 0.875rem;
                text-transform: uppercase;
                color: #6c757d;
                letter-spacing: 0.5px;
                margin-bottom: 0.75rem;
            }
            
            .nav-link {
                padding: 0.5rem 0;
                color: #495057;
                border-bottom: 1px solid #f8f9fa;
                
                &:hover {
                    color: #007bff;
                }
                
                &:last-child {
                    border-bottom: none;
                }
            }
        }
    }

    .main-content {
        flex: 1;

        .content-panel {
            background-color: #fff;
            border: 1px solid #e9ecef;
            border-radius: 0.25rem;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
            overflow: hidden;

            .panel-header {
                border-bottom: 1px solid #e9ecef;
                background-color: #f8f9fa;

                .nav-tabs {
                    border-bottom: none;
                    padding: 0 0.25rem;

                    .nav-link {
                        border: none;
                        padding: 1rem 1.5rem;
                        color: #6c757d;

                        &:hover {
                            color: #343a40;
                            background-color: transparent;
                        }

                        &.active {
                            color: #007bff;
                            font-weight: 500;
                            background-color: transparent;
                            border-bottom: 2px solid #007bff;
                        }
                    }
                }
            }

            .panel-body {
                padding: 2rem;
            }
        }
    }

    .overview-tab {
        .info-group {
            margin-bottom: 1.5rem;

            label {
                display: block;
                font-size: 0.875rem;
                color: #6c757d;
                margin-bottom: 0.25rem;
                font-weight: 500;
            }

            p {
                font-size: 1rem;
                color: #343a40;
                margin: 0;
                padding-bottom: 0.25rem;
                border-bottom: 1px solid #eee;
            }
        }
    }

    .activity-tab {
        .activity-list {
            .activity-item {
                padding: 1.25rem 0;
                border-bottom: 1px solid #eee;

                &:last-child {
                    border-bottom: none;
                }

                .activity-header {
                    display: flex;
                    align-items: flex-start;
                    justify-content: space-between;
                }

                .activity-time {
                    font-size: 0.875rem;
                    color: #6c757d;
                    white-space: nowrap;
                    margin-left: 1rem;
                }

                .activity-message {
                    font-weight: 500;
                }

                .activity-details {
                    margin-left: 3.5rem;
                }
            }
        }
    }

    .security-tab {
        .security-section {
            padding: 1.5rem 0;

            h5 {
                margin-bottom: 0.5rem;
            }

            p {
                margin-bottom: 0;
            }
        }
    }
}

.profile-loading {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 400px;
}

.profile-error {
    max-width: 600px;
    margin: 2rem auto;
    padding: 0 1rem;
}
