body { background-color: #E0E5EC; color: #374151; }
        
        /* Neumorphism Base */
        .neu-flat {
            background: #E0E5EC;
            box-shadow: 6px 6px 12px rgb(163,177,198,0.6), -6px -6px 12px rgba(255,255,255, 0.5);
            border-radius: 14px; border: 1px solid rgba(255,255,255,0.2); transition: all 0.2s ease;
        }
        .neu-pressed {
            background: #E0E5EC;
            box-shadow: inset 4px 4px 8px rgb(163,177,198, 0.6), inset -4px -4px 8px rgba(255,255,255, 0.8);
            border-radius: 10px; border: none; outline: none;
        }
        
        textarea, input[type="text"].clean-input {
            background: #E0E5EC; border: none; outline: none; transition: all 0.2s;
            box-shadow: inset 4px 4px 8px rgb(163,177,198, 0.6), inset -4px -4px 8px rgba(255,255,255, 0.8);
            border-radius: 10px;
        }
        
        input[type=range].single-slider { appearance: none; width: 100%; background: transparent; cursor: pointer; }
        input[type=range].single-slider::-webkit-slider-thumb {
            appearance: none; height: 20px; width: 20px; border-radius: 50%;
            background: #7C3AED; margin-top: -8px;
            box-shadow: 2px 2px 5px rgba(0,0,0,0.2); border: 2px solid #E0E5EC;
        }
        input[type=range].single-slider::-webkit-slider-runnable-track {
            width: 100%; height: 4px; background: #CBD5E1; border-radius: 5px;
            box-shadow: inset 1px 1px 3px rgba(0,0,0,0.1);
        }

        /* --- DUAL Range Slider --- */
        .range-slider-container { position: relative; width: 100%; height: 40px; display: flex; align-items: center; justify-content: center; }
        .range-track { position: absolute; width: 100%; height: 6px; background: #CBD5E1; box-shadow: inset 2px 2px 5px rgb(163,177,198, 0.6), inset -2px -2px 5px rgba(255,255,255, 0.8); border-radius: 5px; z-index: 1; }
        .range-fill { position: absolute; height: 6px; background: #7C3AED; border-radius: 5px; z-index: 2; }
        .range-input { position: absolute; pointer-events: none; appearance: none; width: 100%; height: 100%; background: transparent; z-index: 3; top: 50%; transform: translateY(-50%); margin: 0; padding: 0;}
        .range-input::-webkit-slider-thumb { pointer-events: all; appearance: none; height: 24px; width: 24px; border-radius: 50%; background: #7C3AED; cursor: pointer; border: 3px solid #E0E5EC; box-shadow: 3px 3px 6px rgba(0,0,0,0.2), inset 1px 1px 2px rgba(255,255,255,0.3); position: relative; margin-top: 0; }
        
        .neu-checkbox {
            appearance: none; width: 44px; height: 24px; background: #E0E5EC;
            box-shadow: inset 2px 2px 5px rgb(163,177,198, 0.6), inset -2px -2px 5px rgba(255,255,255, 0.8);
            border-radius: 20px; position: relative; cursor: pointer; transition: all 0.3s ease;
        }
        .neu-checkbox::after {
            content: ''; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px;
            background: #E0E5EC; border-radius: 50%;
            box-shadow: 2px 2px 5px rgb(163,177,198, 0.6), -2px -2px 5px rgba(255,255,255, 0.8);
            transition: all 0.3s ease;
        }
        .neu-checkbox:checked::after { transform: translateX(20px); background: #7C3AED; }

        input#current-project-name { background: transparent; border: none; outline: none; box-shadow: none; padding: 0; margin: 0; border-radius: 0; color: #9CA3AF; }
        input#current-project-name:focus { background: transparent; box-shadow: none; border-bottom: 2px solid #7C3AED; color: #7C3AED; }

        .custom-scrollbar::-webkit-scrollbar { width: 6px; }
        .custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
        .custom-scrollbar::-webkit-scrollbar-thumb { background-color: #CBD5E1; border-radius: 20px; }
        .modal-overlay { background: rgba(224, 229, 236, 0.9); backdrop-filter: blur(5px); }
        .animate-slide-up { animation: slideUp 0.3s ease-out forwards; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        .contenteditable:focus { outline: none; border-bottom: 1px dashed #7C3AED; }

        /* --- DUAL RANGE SLIDER STYLES (NEW) --- */
        .dual-range-container { position: relative; width: 100%; height: 20px; }
        .dual-range-track { position: absolute; top: 50%; transform: translateY(-50%); width: 100%; height: 4px; background: #CBD5E1; border-radius: 2px; z-index: 1; }
        .dual-range-fill { position: absolute; top: 50%; transform: translateY(-50%); height: 4px; background: #7C3AED; z-index: 2; border-radius: 2px; /* Ширина и позиция задаются JS */ }
        
        input[type=range].dual-thumb {
            position: absolute; top: 50%; transform: translateY(-50%); width: 100%; pointer-events: none; appearance: none; background: transparent; z-index: 3; margin: 0;
        }
        input[type=range].dual-thumb::-webkit-slider-thumb {
            pointer-events: auto; appearance: none; height: 14px; width: 14px; background: #7C3AED; border-radius: 50%; border: 2px solid #E0E5EC; box-shadow: 1px 1px 3px rgba(0,0,0,0.2); cursor: pointer; margin-top: 0;
        }
        input[type=range].dual-thumb::-webkit-slider-runnable-track { background: transparent; height: 14px; border: none; }

        /* --- CHIPS STYLING (UPDATED) --- */
        .chip {
            display: inline-flex; align-items: center; gap: 8px;
            padding: 6px 14px; border-radius: 14px; /* Чуть крупнее паддинги и радиус */
            background: #E0E5EC; 
            font-size: 0.9rem; /* УВЕЛИЧИЛ ШРИФТ (было 0.7rem) */
            font-weight: 500; color: #4B5563;
            box-shadow: 3px 3px 6px rgb(163,177,198,0.6), -3px -3px 6px rgba(255,255,255, 0.8);
            cursor: default; transition: all 0.2s; border: 1px solid rgba(255,255,255,0.4);
            animation: popIn 0.3s forwards;
        }
        .chip:hover { transform: translateY(-2px); color: #7C3AED; box-shadow: 4px 4px 10px rgb(163,177,198,0.7), -4px -4px 10px rgba(255,255,255, 0.9); }
        
        .chip-delete {
            cursor: pointer; width: 20px; height: 20px; /* Чуть крупнее кнопка */
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            color: #9CA3AF; transition: all 0.2s; background: rgba(0,0,0,0.05);
            font-size: 0.8rem;
        }
        .chip-delete:hover { background: #FECACA; color: #DC2626; transform: scale(1.1); }
        @keyframes popIn { from { opacity: 0; transform: scale(0.8); } to { opacity: 1; transform: scale(1); } }
        /* --- НОВЫЕ СТИЛИ ДЛЯ ШАПКИ --- */
        .neu-btn {
            background: #E0E5EC;
            box-shadow: 5px 5px 10px rgb(163,177,198,0.6), -5px -5px 10px rgba(255,255,255, 0.8);
            transition: all 0.2s ease;
        }
        .neu-btn:active {
            box-shadow: inset 2px 2px 5px rgb(163,177,198, 0.6), inset -2px -2px 5px rgba(255,255,255, 0.8);
            transform: scale(0.95);
        }
        @keyframes pulse-green {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.5; }
        }
        .status-dot { animation: pulse-green 2s infinite; }