/* Estilos para Informações Básicas do Aluno */

/* Container principal */
.basic-info-container {
    background-color: #ffffff;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    padding: 24px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

/* Estado vazio */
.empty-user-state {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 0;
}

.empty-user-state-content {
    text-align: center;
}

.empty-user-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(to bottom right, #f3f4f6, #e5e7eb);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #d1d5db;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    margin: 0 auto 16px auto;
}

.empty-user-avatar-icon {
    color: #6b7280;
    font-size: 20px;
}

.empty-user-text {
    color: #6b7280;
}

/* Card de informações do usuário */
.user-info-card {
    background-color: #ffffff;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    padding: 24px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.user-info-layout {
    display: flex;
    align-items: flex-start;
}

.user-avatar-container {
    flex-shrink: 0;
}

.user-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #d1d5db;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.user-avatar-fallback {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid #d1d5db;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.user-avatar-fallback-icon {
    color: #6b7280;
    font-size: 20px;
}

.user-info-content {
    flex: 1;
    min-width: 0;
    margin-left: 60px !important;
}

.user-info-grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 16px;
}

@media (min-width: 768px) {
    .user-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.user-info-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.user-info-field.md-col-span-2 {
    grid-column: span 2;
}

@media (min-width: 768px) {
    .user-info-field.md-col-span-2 {
        grid-column: span 2;
    }
}

.user-info-label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #4b5563;
}

.user-info-value {
    color: #111827;
    font-weight: 500;
}

/* Botão de gerenciar usuário */
.user-manage-button {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background-color: #eff6ff;
    color: #1d4ed8;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
    transition: all 0.2s;
    border: 1px solid #bfdbfe;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.user-manage-button:hover {
    background-color: #dbeafe;
    border-color: #93c5fd;
}

.user-manage-button-icon {
    width: 16px;
    height: 16px;
    margin-right: 8px;
}

.user-manage-button-text {
    margin-right: 8px;
}

.user-manage-button-external-icon {
    margin-left: 8px;
    width: 16px;
    height: 16px;
}

/* Estilos específicos para avatares na listagem */
.filament-tables-table .w-12.h-12 {
    width: 48px;
    height: 48px;
}

.filament-tables-table .w-12.h-12.rounded-full {
    border-radius: 50%;
}

.filament-tables-table .w-12.h-12.object-cover {
    object-fit: cover;
}

/* Classes específicas para avatares */
.avatar-image {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.avatar-fallback {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #e5e7eb;
    color: #9ca3af;
    font-size: 12px;
}

.avatar-fallback svg {
    width: 24px;
    height: 24px;
    color: #9ca3af;
}

.avatar-fallback-icon {
    opacity: 0.4;
}

/* Garantir tamanho uniforme para avatares na tabela */
.filament-tables-table .w-12.h-12 {
    width: 48px;
    height: 48px;
}

/* Tratamento para imagens quebradas */
.avatar-image:not([src]), 
.avatar-image[src=""], 
.avatar-image[src*="data:image/svg+xml"] {
    display: none;
}

.avatar-image:not([src]) + .avatar-fallback,
.avatar-image[src=""] + .avatar-fallback,
.avatar-image[src*="data:image/svg+xml"] + .avatar-fallback {
    display: flex;
}

/* Garantir que o fallback apareça quando a imagem falha */
.avatar-fallback[style*="display: flex"] {
    display: flex;
} 