body {
            background-color: #242731;
            color: #f0f2f5;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            padding-bottom: 90px; /* Increased space for bottom nav to prevent touching */
            overflow-x: hidden;
        }

        /* Top Header */
        .app-header {
            background-color: #242731;
            padding: 15px 20px;
            position: sticky;
            top: 0;
            z-index: 1020;
            border-bottom: 1px solid #3a3f4e;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        /* Bottom Navigation */
        .bottom-nav {
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            background-color: #242731;
            display: flex;
            justify-content: space-around;
            align-items: center;
            padding: 10px 0;
            border-top: 1px solid #3a3f4e;
            z-index: 1030;
        }

        .nav-item {
            color: #9ba1b0;
            text-align: center;
            font-size: 0.8rem;
            cursor: pointer;
            transition: color 0.3s;
            flex: 1;
        }

        .nav-item i {
            display: block;
            font-size: 1.3rem;
            margin-bottom: 4px;
        }

        .nav-item.active {
            color: #ff6b58;
        }

        .nav-fab {
            background-color: #ff6b58;
            color: white;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 1.5rem;
            box-shadow: 0 4px 15px rgba(255, 107, 88, 0.4);
            transform: translateY(-15px);
            cursor: pointer;
        }

        /* Task Cards */
        .task-card {
            background-color: #2f3340;
            border: 1px solid #3a3f4e;
            border-radius: 16px;
            padding: 15px;
            margin-bottom: 12px;
            transition: all 0.3s ease;
            display: flex;
            align-items: flex-start;
        }

        .task-card.high-priority { border-left: 4px solid #ff6b58; }
        .task-card.medium-priority { border-left: 4px solid #ffc107; }
        .task-card.low-priority { border-left: 4px solid #9ba1b0; }

        .task-checkbox {
            width: 24px;
            height: 24px;
            border-radius: 50%;
            border: 2px solid #5a6175;
            display: inline-block;
            margin-right: 15px;
            cursor: pointer;
            flex-shrink: 0;
            position: relative;
        }

        .task-checkbox.checked {
            background-color: #50c878;
            border-color: #50c878;
        }

        .task-checkbox.checked::after {
            content: '\f00c';
            font-family: 'Font Awesome 6 Free';
            font-weight: 900;
            color: white;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            font-size: 12px;
        }

        .task-content {
            flex-grow: 1;
        }

        .task-title {
            font-weight: 600;
            font-size: 1.1rem;
            margin-bottom: 4px;
        }

        .task-meta {
            font-size: 0.8rem;
            color: #9ba1b0;
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }

        /* Animations */
        .slide-out {
            transform: translateX(100%);
            opacity: 0;
        }

        .section-title {
            font-size: 0.9rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: #9ba1b0;
            margin: 20px 0 10px 0;
            border-bottom: 1px solid #3a3f4e;
            padding-bottom: 5px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
        }

        .section-title i.chevron {
            transition: transform 0.3s ease;
        }

        .section-title.collapsed i.chevron {
            transform: rotate(-90deg);
        }

        .overdue-section .section-title { color: #ff6b58; border-color: #ff6b58; }

        /* Summary Cards */
        .summary-cards-container {
            display: flex;
            gap: 12px;
            margin-bottom: 24px;
        }
        .summary-card {
            flex: 1;
            background-color: #2f3340;
            border: 1px solid #3a3f4e;
            border-radius: 16px;
            padding: 15px 12px;
            display: flex;
            flex-direction: column;
        }
        .summary-icon-wrapper {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 15px;
            font-size: 0.9rem;
        }
        .icon-overdue { background-color: rgba(255, 107, 88, 0.15); color: #ff6b58; }
        .icon-today { background-color: rgba(80, 200, 120, 0.15); color: #50c878; }
        .icon-completed { background-color: rgba(25, 135, 84, 0.15); color: #20c997; }

        .summary-label {
            font-size: 0.8rem;
            color: #9ba1b0;
            font-weight: 500;
            margin-bottom: 4px;
        }
        .summary-count {
            font-size: 1.6rem;
            font-weight: 600;
            color: #fff;
            line-height: 1;
        }

        /* Form styling */
        .form-control, .form-select {
            background-color: #1e2128;
            border-color: #3a3f4e;
            color: #fff;
        }
        .form-control:focus, .form-select:focus {
            background-color: #1e2128;
            color: #fff;
            border-color: #ff6b58;
            box-shadow: 0 0 0 0.25rem rgba(255, 107, 88, 0.25);
        }
        
        .modal-content.bg-dark {
            background-color: #2f3340 !important;
        }
        
        .text-muted {
            color: #9ba1b0 !important;
        }
        
        .bg-primary { background-color: #ff6b58 !important; }
        .btn-primary { background-color: #ff6b58; border-color: #ff6b58; color: #fff; }
        .btn-primary:hover, .btn-primary:focus { background-color: #f25540; border-color: #f25540; box-shadow: 0 0 0 0.25rem rgba(255, 107, 88, 0.25); }
        .btn-outline-primary { color: #ff6b58; border-color: #ff6b58; }
        .btn-outline-primary:hover { background-color: #ff6b58; color: #fff; }

        /* Smart Schedule Banner */
        .smart-warning {
            background-color: #4a332d;
            border: 1px solid #ff6b58;
            color: #ffb8b0;
            border-radius: 8px;
            padding: 10px;
            margin-top: 10px;
            font-size: 0.9rem;
            display: none;
        }

        /* Category Cards */
        .category-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 16px;
            padding-bottom: 20px; /* Extra padding specifically for lists view */
        }
        .category-card {
            background-color: #2f3340;
            border: 1px solid #3a3f4e;
            border-radius: 20px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            cursor: pointer;
            transition: transform 0.2s, background-color 0.2s;
            aspect-ratio: 1 / 1;
            padding: 20px;
        }
        .category-card:active {
            transform: scale(0.96);
        }
        .category-icon {
            font-size: 2.8rem;
            margin-bottom: 16px;
            filter: drop-shadow(0px 4px 8px rgba(0,0,0,0.3));
        }
        .category-title {
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            color: #f0f2f5;
            margin-bottom: 6px;
        }
        .category-count {
            font-size: 0.75rem;
            color: #9ba1b0;
            font-weight: 500;
        }

        /* Picker Styles */
        .icon-option {
            width: 40px; height: 40px; border-radius: 8px;
            display: inline-flex; align-items: center; justify-content: center;
            cursor: pointer; border: 2px solid transparent; 
            background: #1e2128; font-size: 1.2rem; color: #9ba1b0;
            transition: all 0.2s;
        }
        .icon-option:hover { background: #3a3f4e; color: #fff; }
        .icon-option.selected { border-color: #ff6b58; background: rgba(255,107,88,0.15); color: #ff6b58; }
        
        .color-option { 
            border-radius: 50%; width: 30px; height: 30px; 
            cursor: pointer; border: 2px solid transparent;
            transition: all 0.2s;
        }
        .color-option:hover { transform: scale(1.1); }
        .color-option.selected { border-color: #242731; box-shadow: 0 0 0 2px #fff; transform: scale(1.1); }

        /* Subtasks */
        .subtask-progress { 
            font-size: 0.75rem; color: #9ba1b0; background: #1e2128; 
            padding: 2px 6px; border-radius: 4px; display: inline-flex; 
            align-items: center; gap: 4px; 
        }
        .subtask-progress.done { color: #50c878; }
        .subtask-item { 
            display: flex; align-items: center; background: #1e2128; 
            padding: 8px 12px; border-radius: 8px; 
        }
        .subtask-item.completed span { opacity: 0.5; text-decoration: line-through; }

        /* Calendar Events */
        .calendar-event {
            background-color: #2f3340;
            border-left: 4px solid #4285f4;
            border-radius: 12px;
            padding: 12px 15px;
            margin-bottom: 10px;
            display: flex;
            align-items: center;
        }
        .calendar-time {
            font-size: 0.8rem;
            color: #9ba1b0;
            width: 75px;
            flex-shrink: 0;
            text-align: right;
            margin-right: 15px;
            border-right: 1px solid #3a3f4e;
            padding-right: 15px;
        }
        .calendar-details { flex-grow: 1; }
        .calendar-title { font-weight: 600; font-size: 0.95rem; color: #f0f2f5; }
        .gcal-connect-btn {
            background-color: #1e2128;
            border: 1px dashed #3a3f4e;
            color: #9ba1b0;
            border-radius: 12px;
            padding: 12px;
            font-size: 0.9rem;
            cursor: pointer;
            transition: all 0.2s;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            width: 100%;
            margin-bottom: 24px;
        }
        .gcal-connect-btn:hover {
            background-color: #2f3340;
            border-color: #4285f4;
            color: #4285f4;
        }