[x-cloak] { display: none !important; }
.line-clamp-3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.toast-container { position: fixed; bottom: 1rem; right: 1rem; z-index: 100; display: flex; flex-direction: column; gap: 0.5rem; max-width: 22rem; }
.toast { font-size: 0.75rem; padding: 0.5rem 0.75rem; border-radius: 0.375rem; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); animation: toast-in 0.2s ease; }
.toast.success { background: #dcfce7; color: #166534; }
.toast.error { background: #fee2e2; color: #991b1b; }
.toast.info { background: #e0f2fe; color: #0369a1; }
@keyframes toast-in { from { opacity: 0; transform: translateX(100%); } to { opacity: 1; transform: translateX(0); } }
tr.row-updated { animation: row-highlight 2s ease; }
@keyframes row-highlight { 0% { background-color: rgb(254 249 195); } 100% { background-color: transparent; } }
