/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #3f3f46; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #52525b; }

/* Glassmorphism modal backdrop */
.glass-backdrop {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    background: rgba(0, 0, 0, 0.6);
}
.glass-card {
    background: rgba(24, 24, 27, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(63, 63, 70, 0.5);
}

/* Toast animation */
@keyframes toastIn {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}
@keyframes toastOut {
    from { transform: translateX(0); opacity: 1; }
    to { transform: translateX(100%); opacity: 0; }
}
.toast-enter { animation: toastIn 0.3s ease forwards; }
.toast-exit { animation: toastOut 0.3s ease forwards; }

/* Skeleton loading */
@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}
.skeleton {
    background: linear-gradient(90deg, #27272a 25%, #3f3f46 50%, #27272a 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
    border-radius: 6px;
}

/* Suggestions dropdown */
.suggestions-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 50;
    margin-top: 4px;
    max-height: 220px;
    overflow-y: auto;
}

/* Sidebar transition */
.sidebar-link {
    position: relative;
    overflow: hidden;
}
.sidebar-link::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: #3b82f6;
    transform: scaleY(0);
    transition: transform 0.2s ease;
}
.sidebar-link.active::before,
.sidebar-link:hover::before {
    transform: scaleY(1);
}

/* Chat bubbles */
.bubble-mine {
    border-radius: 16px 16px 4px 16px;
}
.bubble-theirs {
    border-radius: 16px 16px 16px 4px;
}

/* Pulsing dots */
.dot-1 { animation-delay: 0s; }
.dot-2 { animation-delay: 0.2s; }
.dot-3 { animation-delay: 0.4s; }

/* Kanban */
.kanban-column {
    transition: border-color 0.15s ease;
}
.kanban-card {
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}
.kanban-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.kanban-card[draggable="true"]:active {
    cursor: grabbing;
}

/* Deal slide-over panel */
#deal-panel {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
