/* Klubblodd — felles UI-helpers (toast + invalid-field) */

#kl_toast_container {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    pointer-events: none;
}

.kl_toast {
    background: #fff;
    color: #2c3e50;
    padding: 12px 20px;
    border-radius: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    box-shadow: 0 6px 24px rgba(0,0,0,.18);
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .25s ease, transform .25s ease;
    max-width: 90vw;
    pointer-events: auto;
}
.kl_toast.show {
    opacity: 1;
    transform: translateY(0);
}

.kl_toast_error   { border-left: 4px solid #c0392b; color: #721c24; }
.kl_toast_success { border-left: 4px solid #27ae60; color: #1b7a42; }
.kl_toast_info    { border-left: 4px solid #1174ad; color: #1b577a; }

/* Invalid-field markering — rød ramme + fokus-ring */
.kl_invalid {
    border-color: #c0392b !important;
    box-shadow: 0 0 0 3px rgba(192,57,43,.15) !important;
}
