.square-image {
    width: 350px;
    height: 350px;
    object-fit: cover;
}


.outline {
    outline: none;
}

/* Esconde visualmente o input do rádio mas mantém acessível para screen readers */
.hidden-radio {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
}

/* Estilo para os labels que contém os ícones */
.icon-label {
    cursor: pointer;
    /* Mostra um cursor de mão quando passar sobre o label */
    margin-right: 15px;
    /* Espaçamento entre os ícones */
}

/* Estilo quando o rádio está selecionado */
.hidden-radio:checked+.icon-label .fa {
    transform: scale(1.2);
    /* Aumenta o ícone */
    transition: transform 0.3s ease;
    /* Animação suave ao selecionar */
}

/* Classe que será aplicada ao label do rádio selecionado */
.icon-label.selected {
    transform: scale(1.2);
    /* Aumenta o ícone */
    opacity: 1;
    /* Pode aumentar a opacidade */
    transition: transform 0.2s ease-in-out;
}

/* Pode deixar os ícones não selecionados com uma opacidade menor */
.icon-label {
    opacity: 0.5;
    transition: opacity 0.2s ease-in-out;
}

.admin-hero {
    background: linear-gradient(135deg, #eef4ff 0%, #f7fbff 100%);
    border-bottom: 1px solid #e3e8ef;
}

.admin-metric-card {
    cursor: pointer;
    border: 1px solid #eef2f7;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.admin-metric-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 40px rgba(17, 38, 146, 0.12);
    border-color: #d2dbf3;
}

.admin-metric-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.admin-block {
    border: 1px solid #eef2f7;
}
