    /* Edit Trip Styles - Available for all users */
    [contenteditable="true"].highlight-editable {
        border: 1px dashed #cbd5e0;
        background-color: rgba(237, 242, 247, 0.5);
        padding: 2px 4px;
        border-radius: 4px;
        transition: all 0.2s ease;
        min-height: 1.5em;
        min-width: 1em;
    }

    [contenteditable="true"].highlight-editable:hover,
    [contenteditable="true"].highlight-editable:focus {
        border-color: #4f46e5;
        background-color: rgba(237, 242, 247, 0.8);
        outline: none;
        box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.2);
    }

    .remove-activity-button {
        opacity: 0;
        transition: opacity 0.2s ease;
    }

    li:hover .remove-activity-button {
        opacity: 1;
    }

    .add-activity-button {
        margin-top: 8px;
        padding: 4px 0;
        border-radius: 4px;
        transition: all 0.2s ease;
    }

    .add-activity-button:hover {
        background-color: rgba(237, 242, 247, 0.8);
    }
    
    /* Edit Tour Animation Styles */
    @keyframes pulse-animation {
        0% {
            box-shadow: 0 0 0 0 rgba(79, 70, 229, 0.4);
        }
        70% {
            box-shadow: 0 0 0 10px rgba(79, 70, 229, 0);
        }
        100% {
            box-shadow: 0 0 0 0 rgba(79, 70, 229, 0);
        }
    }

    .pulse-attention {
        animation: pulse-animation 1.5s infinite;
        position: relative;
        z-index: 1;
    }

    /* Visual feedback for modified content */
    [contenteditable="true"].content-modified {
        border-left: 2px solid #4f46e5;
    }

    /* Animate activity addition */
    @keyframes slide-down {
        from {
            opacity: 0;
            transform: translateY(-10px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .new-activity-animation {
        animation: slide-down 0.3s ease forwards;
    }

    /* Enhanced hover effect for editable elements */
    [contenteditable="true"].highlight-editable:hover {
        transform: translateY(-1px);
        transition: transform 0.2s ease;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    }

    /* Tooltip animation */
    @keyframes tooltip-fade-in {
        from {
            opacity: 0;
            transform: translateY(10px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* Premium shimmer animation for loading states */
    @keyframes shimmer {
        0% {
            transform: translateX(-100%);
        }
        100% {
            transform: translateX(100%);
        }
    }

    .animate-shimmer {
        animation: shimmer 2s infinite;
    }

    /* Enhanced skeleton loading animations */
    @keyframes skeleton-loading {
        0% {
            background-position: -200px 0;
        }
        100% {
            background-position: calc(200px + 100%) 0;
        }
    }

    .skeleton-enhanced {
        background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
        background-size: 200px 100%;
        animation: skeleton-loading 1.5s infinite;
    }

    /* Floating animation for generation status */
    @keyframes float {
        0%, 100% {
            transform: translateY(0px);
        }
        50% {
            transform: translateY(-10px);
        }
    }

    .animate-float {
        animation: float 3s ease-in-out infinite;
    }

    /* Pulse wave animation */
    @keyframes pulse-wave {
        0% {
            box-shadow: 0 0 0 0 rgba(79, 70, 229, 0.4);
        }
        70% {
            box-shadow: 0 0 0 20px rgba(79, 70, 229, 0);
        }
        100% {
            box-shadow: 0 0 0 0 rgba(79, 70, 229, 0);
        }
    }

    .animate-pulse-wave {
        animation: pulse-wave 2s infinite;
    }

    /* Premium Fade In Animations */
    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translateY(30px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes fadeInLeft {
        from {
            opacity: 0;
            transform: translateX(-30px);
        }
        to {
            opacity: 1;
            transform: translateX(0);
        }
    }

    @keyframes fadeInRight {
        from {
            opacity: 0;
            transform: translateX(30px);
        }
        to {
            opacity: 1;
            transform: translateX(0);
        }
    }

    @keyframes scaleIn {
        from {
            opacity: 0;
            transform: scale(0.9);
        }
        to {
            opacity: 1;
            transform: scale(1);
        }
    }

    /* Animation Classes */
    .animate-fade-in-up {
        animation: fadeInUp 0.6s ease-out forwards;
    }

    .animate-fade-in-left {
        animation: fadeInLeft 0.6s ease-out forwards;
    }

    .animate-fade-in-right {
        animation: fadeInRight 0.6s ease-out forwards;
    }

    .animate-scale-in {
        animation: scaleIn 0.5s ease-out forwards;
    }

    /* Staggered Animation Delays */
    .animate-delay-100 { animation-delay: 0.1s; }
    .animate-delay-200 { animation-delay: 0.2s; }
    .animate-delay-300 { animation-delay: 0.3s; }
    .animate-delay-400 { animation-delay: 0.4s; }
    .animate-delay-500 { animation-delay: 0.5s; }

    /* Premium Hover Effects */
    .hover-lift {
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .hover-lift:hover {
        transform: translateY(-4px);
        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    }

    /* Smooth Transitions */
    .transition-smooth {
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    /* Hide scrollbar but keep functionality */
    .scrollbar-hide {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .scrollbar-hide::-webkit-scrollbar {
        display: none;
    }

    /* Responsive Grid Fix */
    .days-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
        gap: 0.25rem;
    }

    @media (min-width: 640px) {
        .days-grid {
            gap: 0.5rem;
        }
    }

    /* Remove any potential horizontal overflow */
    body {
        overflow-x: hidden;
    }

    .container-no-overflow {
        max-width: 100%;
        overflow-x: hidden;
    }

    /* Smooth transitions for fun facts */
    #fun-fact {
        transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    }

    /* Status text transitions */
    #ai-status-text {
        transition: opacity 0.2s ease-in-out;
    }

    /* Backdrop blur support */
    .backdrop-blur-sm {
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
    }

    /* Enhanced gradient animations */
    @keyframes gradient-shift {
        0%, 100% {
            background-position: 0% 50%;
        }
        50% {
            background-position: 100% 50%;
        }
    }

    .animate-gradient {
        background-size: 200% 200%;
        animation: gradient-shift 4s ease infinite;
    }

    /* 🚀 SPECTACULAR WAITING ANIMATIONS */
    
    /* Blob morphing animation */
    @keyframes blob {
        0%, 100% {
            transform: translate(0px, 0px) scale(1);
        }
        33% {
            transform: translate(30px, -50px) scale(1.1);
        }
        66% {
            transform: translate(-20px, 20px) scale(0.9);
        }
    }

    .animate-blob {
        animation: blob 7s infinite;
    }

    .animation-delay-2000 {
        animation-delay: 2s;
    }

    .animation-delay-4000 {
        animation-delay: 4s;
    }

    .animation-delay-6000 {
        animation-delay: 6s;
    }

    /* Slow spin animations */
    @keyframes spin-slow {
        from {
            transform: rotate(0deg);
        }
        to {
            transform: rotate(360deg);
        }
    }

    @keyframes spin-reverse {
        from {
            transform: rotate(360deg);
        }
        to {
            transform: rotate(0deg);
        }
    }

    .animate-spin-slow {
        animation: spin-slow 8s linear infinite;
    }

    .animate-spin-reverse {
        animation: spin-reverse 6s linear infinite;
    }

    /* Glowing pulse animation */
    @keyframes pulse-glow {
        0%, 100% {
            box-shadow: 0 0 20px rgba(59, 130, 246, 0.5), 0 0 40px rgba(147, 51, 234, 0.3), 0 0 60px rgba(59, 130, 246, 0.1);
        }
        50% {
            box-shadow: 0 0 40px rgba(59, 130, 246, 0.8), 0 0 80px rgba(147, 51, 234, 0.6), 0 0 120px rgba(59, 130, 246, 0.4);
        }
    }

    .animate-pulse-glow {
        animation: pulse-glow 3s ease-in-out infinite;
    }

    /* Orbital animations */
    @keyframes orbit-1 {
        from {
            transform: rotate(0deg) translateX(140px) rotate(0deg);
        }
        to {
            transform: rotate(360deg) translateX(140px) rotate(-360deg);
        }
    }

    @keyframes orbit-2 {
        from {
            transform: rotate(0deg) translateX(120px) rotate(0deg);
        }
        to {
            transform: rotate(-360deg) translateX(120px) rotate(360deg);
        }
    }

    @keyframes orbit-3 {
        from {
            transform: rotate(0deg) translateX(160px) rotate(0deg);
        }
        to {
            transform: rotate(360deg) translateX(160px) rotate(-360deg);
        }
    }

    @keyframes orbit-4 {
        from {
            transform: rotate(0deg) translateX(100px) rotate(0deg);
        }
        to {
            transform: rotate(-360deg) translateX(100px) rotate(360deg);
        }
    }

    .animate-orbit-1 {
        animation: orbit-1 12s linear infinite;
    }

    .animate-orbit-2 {
        animation: orbit-2 8s linear infinite;
    }

    .animate-orbit-3 {
        animation: orbit-3 15s linear infinite;
    }

    .animate-orbit-4 {
        animation: orbit-4 10s linear infinite;
    }

    /* Enhanced floating animation */
    @keyframes float-enhanced {
        0%, 100% {
            transform: translateY(0px) translateX(0px);
        }
        25% {
            transform: translateY(-20px) translateX(10px);
        }
        50% {
            transform: translateY(-10px) translateX(-5px);
        }
        75% {
            transform: translateY(-15px) translateX(5px);
        }
    }

    .animate-float {
        animation: float-enhanced 6s ease-in-out infinite;
    }

    /* Text gradient animation */
    @keyframes text-shimmer {
        0% {
            background-position: -200% center;
        }
        100% {
            background-position: 200% center;
        }
    }

    .animate-text-shimmer {
        background: linear-gradient(90deg, #06b6d4, #3b82f6, #8b5cf6, #06b6d4);
        background-size: 200% auto;
        color: transparent;
        background-clip: text;
        -webkit-background-clip: text;
        animation: text-shimmer 3s linear infinite;
    }

    .tour-tooltip {
        animation: tooltip-fade-in 0.3s ease forwards;
    }

    /* Tour overlay transition */
    .tour-overlay {
        transition: clip-path 0.4s ease;
    }

    /* Highlight effect for tour targets */
    .tour-highlight {
        position: relative;
        z-index: 1001;
        box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.8), 0 0 10px rgba(79, 70, 229, 0.4);
        border-radius: 4px;
    }
    
    /* Drag handle styles */
    .drag-handle {
        cursor: grab;
        display: inline-block;
        opacity: 0.3;
        transition: opacity 0.2s ease;
    }
    
    li:hover .drag-handle {
        opacity: 0.8;
    }
    
    /* Activity dragging states */
    li.opacity-50 {
        opacity: 0.5;
    }
    
    li.bg-indigo-50 {
        background-color: rgba(238, 242, 255, 0.5);
    }
    
    /* NEW: Sliding action panel styles */
    .action-panel {
        transition: transform 0.3s ease, opacity 0.3s ease;
    }
    
    .action-panel.closed {
        transform: translateX(calc(100% - 10px));
    }
    
    .action-panel-toggle {
        transition: transform 0.3s ease;
        transform: rotate(180deg);
    }
    
    .action-panel.closed .action-panel-toggle {
        transform: rotate(0deg);
    }
    
    /* NEW: Mobile action menu styles */
    .mobile-fab-button {
        z-index: 40;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
        transition: all 0.2s ease;
    }
    
    .mobile-fab-button:active {
        transform: scale(0.95);
    }
    
    .mobile-action-menu {
        transition: all 0.3s ease;
        transform: translateY(20px);
        opacity: 0;
        pointer-events: none;
        z-index: 39;
    }
    
    .mobile-action-menu.show {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
    }
    
    .mobile-action-item {
        transition: all 0.2s ease;
        opacity: 0.9;
        transform: scale(0.98);
    }
    
    .mobile-action-item:active {
        opacity: 1;
        transform: scale(1);
    }
