 :root {
            --primary-color: #2c7da0;
            --secondary-color: #a9d6e5;
            --light-bg: #f8f9fa;
            --dark-text: #212529;
            --border-color: #dee2e6;
            --success-color: #198754;
            --warning-color: #ffc107;
            --error-color: #dc3545;
            --accent-color: #6610f2;
        }h2{font-size:1.5rem}
   .faq-item {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--border-color);
}.faq-question {
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--primary-color);
}.faq-answer {
    color: var(--text-muted);
}
 
        .btn-accent {
            background-color: var(--accent-color);
            border-color: var(--accent-color);
            color: white;
        }
        
        .btn-accent:hover {
            background-color: #550bd0;
            border-color: #550bd0;
            color: white;
        }
        
        .result-container {
            background-color: var(--light-bg);
            border-radius: 8px;
            padding: 1.5rem;
            margin-top: 1.5rem;
            position: relative;
            border: 1px solid var(--border-color);
        }
        
        .result-content {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            word-break: break-word;
            padding: 1rem;
            background-color: white;
            border-radius: 6px;
            border: 1px solid #eee;
            font-size: 0.95rem;
            min-height: 100px;
            max-height: 300px;
            overflow-y: auto;
        }
        
        .copy-btn {
            position: absolute;
            top: 15px;
            right: 15px;
            background: white;
            border: 1px solid var(--border-color);
            border-radius: 4px;
            padding: 0.4rem 0.75rem;
            cursor: pointer;
            transition: all 0.3s;
        }
        
        .copy-btn:hover {
            background-color: var(--light-bg);
        }
        
        .file-upload {
            border: 2px dashed var(--border-color);
            border-radius: 8px;
            padding: 2rem;
            text-align: center;
            margin-bottom: 1.5rem;
            background-color: var(--light-bg);
            transition: all 0.3s;
            cursor: pointer;
        }
        
        .file-upload:hover {
            border-color: var(--primary-color);
            background-color: rgba(44, 125, 160, 0.05);
        }
        
        .file-info {
            background-color: white;
            border-radius: 6px;
            padding: 1rem;
            margin-top: 1rem;
            border: 1px solid var(--border-color);
            display: none;
        }
        
        .file-progress {
            height: 6px;
            background-color: #e9ecef;
            border-radius: 3px;
            margin-top: 0.5rem;
            overflow: hidden;
            display: none;
        }
        
        .file-progress-bar {
            height: 100%;
            background-color: var(--primary-color);
            width: 0%;
            transition: width 0.3s;
        }
    
        .degree-plan-container {
            background-color: white;
            border-radius: 8px;
            padding: 1.5rem;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
            margin-bottom: 2rem;
        }
        
        .semester-card {
            background-color: #f8f9fa;
            border-radius: 8px;
            padding: 1rem;
            margin-bottom: 1.5rem;
            border: 1px solid #dee2e6;
            transition: all 0.3s;
        }
        
        .semester-card:hover {
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
            transform: translateY(-2px);
        }
        
        .semester-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1rem;
            padding-bottom: 0.5rem;
            border-bottom: 1px solid #dee2e6;
        }
        
        .course-item {
            background-color: white;
            border-radius: 6px;
            padding: 0.75rem;
            margin-bottom: 0.75rem;
            border: 1px solid #dee2e6;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: move;
            transition: all 0.2s;
        }
        
        .course-item:hover {
            background-color: #f1f8ff;
            border-color: var(--primary-color);
        }
        
        .course-item .course-actions {
            opacity: 0;
            transition: opacity 0.2s;
        }
        
        .course-item:hover .course-actions {
            opacity: 1;
        }
        
        .course-actions button {
            padding: 0.25rem 0.5rem;
            font-size: 0.875rem;
        }
        
        .add-course-btn {
            width: 100%;
            padding: 0.5rem;
            background-color: #f8f9fa;
            border: 1px dashed #dee2e6;
            border-radius: 6px;
            color: #6c757d;
            transition: all 0.2s;
        }
        
        .add-course-btn:hover {
            background-color: #e9ecef;
            border-color: var(--primary-color);
            color: var(--primary-color);
        }
        
        .stats-card {
            background-color: white;
            border-radius: 8px;
            padding: 1.5rem;
            margin-bottom: 1.5rem;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
            border: 1px solid #dee2e6;
        }
        
        .progress-container {
            margin-bottom: 1.5rem;
        }
        
        .progress-bar {
            background-color: var(--primary-color);
        }
        
        .chart-container {
            height: 250px;
            margin-bottom: 1.5rem;
        }
        
        .course-search {
            position: relative;
            margin-bottom: 1.5rem;
        }
        
        .course-search-results {
            position: absolute;
            width: 100%;
            background: white;
            border: 1px solid #dee2e6;
            border-radius: 0 0 6px 6px;
            max-height: 300px;
            overflow-y: auto;
            z-index: 100;
            display: none;
        }
        
        .course-search-item {
            padding: 0.75rem;
            border-bottom: 1px solid #dee2e6;
            cursor: pointer;
            transition: all 0.2s;
        }
        
        .course-search-item:hover {
            background-color: #f1f8ff;
        }
        
        .course-category {
            font-size: 0.85rem;
            color: #6c757d;
        }
        
        .course-credits {
            font-weight: 600;
            color: var(--primary-color);
        }
        
        .drag-over {
            background-color: rgba(169, 214, 229, 0.3);
            border: 2px dashed var(--primary-color);
        }
        
        .course-pill {
            display: inline-block;
            padding: 0.25rem 0.75rem;
            border-radius: 20px;
            font-size: 0.8rem;
            margin-right: 0.5rem;
            margin-bottom: 0.5rem;
            background-color: #e9ecef;
        }
        
        .course-pill.core {
            background-color: #d1e7dd;
            color: #0f5132;
        }
        
        .course-pill.elective {
            background-color: #cfe2ff;
            color: #052c65;
        }
        
        .course-pill.prerequisite {
            background-color: #fff3cd;
            color: #664d03;
        }
        
        .course-pill.lab {
            background-color: #f8d7da;
            color: #58151c;
        }
        
        .gpa-display {
            font-size: 2.5rem;
            font-weight: 700;
            color: var(--primary-color);
            text-align: center;
            margin: 1rem 0;
        }
        
        .gpa-label {
            text-align: center;
            color: #6c757d;
            font-size: 0.9rem;
        }
        
        .requirement-status {
            display: flex;
            align-items: center;
            margin-bottom: 0.75rem;
        }
        
        .requirement-status .icon {
            width: 24px;
            height: 24px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 0.75rem;
            flex-shrink: 0;
        }
        
        .requirement-status.completed .icon {
            background-color: var(--success-color);
            color: white;
        }
        
        .requirement-status.in-progress .icon {
            background-color: var(--warning-color);
            color: white;
        }
        
        .requirement-status.not-started .icon {
            background-color: #e9ecef;
            color: #6c757d;
        }
        
        .timeline-container {
            position: relative;
            height: 60px;
            background-color: #e9ecef;
            border-radius: 30px;
            margin: 2rem 0;
            overflow: hidden;
        }
        
        .timeline-progress {
            position: absolute;
            height: 100%;
            background: linear-gradient(90deg, var(--primary-color) 0%, #a9d6e5 100%);
            border-radius: 30px;
            width: 0%;
            transition: width 1s ease;
        }
        
        .timeline-marker {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background-color: white;
            border: 2px solid var(--primary-color);
        }
        
        .timeline-label {
            position: absolute;
            top: -25px;
            font-size: 0.8rem;
            white-space: nowrap;
        }
        
        .timeline-current {
            position: absolute;
            top: -45px;
            font-weight: 600;
            color: var(--primary-color);
            font-size: 0.9rem;
        }
        
        .modal-content {
            border-radius: 10px;
            border: none;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
        }
        
        .modal-header {
            background: linear-gradient(135deg, var(--primary-color) 0%, #164e63 100%);
            color: white;
            border-radius: 10px 10px 0 0;
        }
        
        .modal-footer {
            border-top: 1px solid var(--border-color);
        }
        
        .edit-course-form .form-group {
            margin-bottom: 1rem;
        }
        
        .edit-course-form label {
            font-weight: 500;
            margin-bottom: 0.5rem;
        }
        
        .course-credit-input {
            max-width: 80px;
        }
        
        .course-category-select {
            width: 100%;
        }
        
        .course-grade-input {
            max-width: 100px;
        }
        
        @media (max-width: 768px) {
            .tool-card {
                padding: 1.5rem;
            }
            
            .page-header {
                padding: 1.5rem 0;
            }
            
            .nav-tabs .nav-link {
                padding: 0.5rem 1rem;
            }
            
            .semester-header {
                flex-direction: column;
                align-items: flex-start;
            }
            
            .semester-header .btn-group {
                margin-top: 0.5rem;
            }
        }