/* Infraestructura visual centralizada para AppIcon. */
.app-icon {
    align-items: center;
    color: var(--app-icon-color, currentColor);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: var(--app-icon-size, 1.25rem);
    height: var(--app-icon-size, 1.25rem);
    justify-content: center;
    line-height: 1;
    vertical-align: middle;
    width: var(--app-icon-size, 1.25rem);
}

.app-icon--material-symbols-rounded {
    font-family: 'Material Symbols Rounded';
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.app-icon--svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.app-icon--svg use {
    pointer-events: none;
}

.input-icon .app-icon {
    --app-icon-size: 1.35rem;
}

.app-nav-item .app-icon {
    --app-icon-size: 1.15rem;
}

.app-menu-button .app-icon {
    --app-icon-size: 1.35rem;
}

.app-nav-group__summary > .app-icon {
    --app-icon-size: 1.2rem;
}

button .app-icon,
a .app-icon {
    pointer-events: none;
}
