.profile-layout {
    display: grid;
    grid-template-columns: minmax(0, 280px) 1fr;
    gap: 2rem;
    margin-top: 1.5rem;
    align-items: start;
}

.profile-banner-wrapper {
    border-radius: 16px;
    overflow: hidden;
    background: linear-gradient(135deg, #2563eb, #ec4899);
}

.profile-banner {
    width: 100%;
    height: 140px;
    object-fit: cover;
}

.profile-main-card,
.profile-section {
    background: #fff;
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 14px 30px rgba(15,23,42,.08);
}

.profile-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #fff;
    box-shadow: 0 8px 18px rgba(15,23,42,.25);
}

.profile-name { font-size: 1.4rem; font-weight: 600; }
.profile-email { font-size: .85rem; color: #6b7280; }
.profile-bio { font-size: .9rem; color: #4b5563; margin-top: .5rem; }
.profile-credits { margin-top: .75rem; font-size: .9rem; font-weight: 500; color: #1d4ed8; }

.profile-list { list-style: none; margin: .75rem 0 0; padding: 0; }
.profile-list-item {
    margin-bottom: .5rem;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
    overflow: hidden;
}
.profile-list-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .7rem .9rem;
    text-decoration: none;
    color: inherit;
}
.profile-list-link:hover { background: #eef2ff; }

.profile-thumb-wrapper {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    overflow: hidden;
    flex-shrink: 0;
    background: #e5e7eb;
}
.profile-thumb { width: 100%; height: 100%; object-fit: cover; }

.profile-list-title {
    font-size: .95rem;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.profile-list-meta { font-size: .8rem; color: #4b5563; text-align: right; }

.form-success { color: #16a34a; font-size: .85rem; }

@media (max-width: 900px) {
    .profile-layout { grid-template-columns: 1fr; }
}