/* =====================================================================
   Elementos inyectados por JS (toasts) + ajustes de íconos.
   El sistema de diseño completo vive en estilos.css — este archivo se
   carga después, así que sólo debe contener lo que no está allí.
   ===================================================================== */

/* ==================== ÍCONOS PHOSPHOR ==================== */
.ph {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

/* ==================== TOASTS ====================
   Etiqueta de papel que entra desde el borde superior, con filete
   de color a la izquierda según el tipo. */
#toast-container {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 480px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px var(--gut);
    pointer-events: none;
    z-index: 2000;
}

.toast {
    display: flex;
    align-items: center;
    gap: 11px;
    background: var(--card);
    color: var(--ink);
    border: 1px solid var(--rule-strong);
    border-left: 4px solid var(--petrol);
    border-radius: var(--radius);
    padding: 12px 15px;
    box-shadow: var(--shadow-lift);
    opacity: 0;
    transform: translateY(-14px);
    transition: opacity .3s ease, transform .3s cubic-bezier(.2, .7, .3, 1);
    pointer-events: auto;
}

.toast.show {
    opacity: 1;
    transform: none;
}

.toast-success {
    border-left-color: var(--income);
}

.toast-error {
    border-left-color: var(--expense);
}

.toast-info {
    border-left-color: var(--sand);
}

.toast-icon {
    font-size: 19px;
    line-height: 1;
    flex: none;
}

.toast-success .toast-icon { color: var(--income); }
.toast-error   .toast-icon { color: var(--expense); }
.toast-info    .toast-icon { color: var(--sand); }

.toast-message {
    font-family: var(--font-cond);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1.35;
}
