  /* Import Google Fonts */
    @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Roboto:wght@300;400;500;700&family=Open+Sans:wght@300;400;600;700&family=Lato:wght@300;400;700&family=Montserrat:wght@300;400;500;600;700&family=Poppins:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&family=Merriweather:wght@300;400;700&family=Source+Sans+3:wght@300;400;600;700&family=Nunito:wght@300;400;600;700&display=swap');

    /* Dark Mode Variables */
    :root {
        --bg-primary: #ffffff;
        --bg-secondary: #f8f9fa;
        --bg-light: #f8f9fa;
        --text-primary: #2c3e50;
        --text-secondary: #666666;
        --text-dark: #212529;
        --border-color: #66BB6A;
        --shadow: rgba(0, 0, 0, 0.1);
        --primary-color: #66BB6A;
    }

    [data-theme="dark"] {
        --bg-primary: #1a1a1a;
        --bg-secondary: #2d2d2d;
        --bg-light: #2d2d2d;
        --text-primary: #e0e0e0;
        --text-secondary: #b0b0b0;
        --text-dark: #ffffff;
        --border-color: #404040;
        --shadow: rgba(0, 0, 0, 0.5);
        --primary-color: #66BB6A;
    }

    /* Apply dark mode colors */
    [data-theme="dark"] body {
        background-color: var(--bg-primary);
        color: var(--text-primary);
    }

    [data-theme="dark"] .bg-light {
        background-color: var(--bg-secondary) !important;
        color: var(--text-primary) !important;
    }

    [data-theme="dark"] .bg-white {
        background-color: var(--bg-secondary) !important;
    }

    [data-theme="dark"] .text-dark,
    [data-theme="dark"] .text-secondary {
        color: var(--text-secondary) !important;
    }
    
    [data-theme="dark"] .navbar-light {
        background-color: var(--bg-secondary) !important;
    }

    [data-theme="dark"] .nav-link,
    [data-theme="dark"] .navbar-brand {
        color: var(--text-primary) !important;
    }

    [data-theme="dark"] .form-control {
        background-color: #3a3a3a !important;
        border-color: var(--border-color) !important;
        color: var(--text-primary) !important;
    }

    [data-theme="dark"] .btn-outline-secondary {
        color: var(--text-primary) !important;
        border-color: var(--border-color) !important;
    }

    [data-theme="dark"] .btn-outline-secondary:hover {
        background-color: #3a3a3a !important;
        border-color: var(--primary-color) !important;
    }

    [data-theme="dark"] .breadcrumb {
        background-color: transparent !important;
    }

    [data-theme="dark"] .breadcrumb-item,
    [data-theme="dark"] .breadcrumb-item a {
        color: var(--text-secondary) !important;
    }

    [data-theme="dark"] input::placeholder,
    [data-theme="dark"] textarea::placeholder {
        color: #888 !important;
    }

    [data-theme="dark"] .card,
    [data-theme="dark"] .modal-content {
        background-color: var(--bg-secondary) !important;
        color: var(--text-primary) !important;
    }

    [data-theme="dark"] hr {
        border-color: var(--border-color) !important;
    }

    /* Floating Action Buttons Container */
    .nutri-fab-container {
        position: fixed;
        bottom: 20px;
        right: 20px;
        z-index: 9998;
        display: flex;
        flex-direction: column;
        gap: 15px;
        align-items: flex-end;
    }

    /* Font Panel Toggle Button */
    .nutri-font-toggle-btn {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background: linear-gradient(135deg, #66BB6A 0%, #66BB6A 100%);
        border: none;
        color: white;
        font-size: 24px;
        cursor: pointer;
        box-shadow: 0 4px 15px #66BB6A;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .nutri-font-toggle-btn:hover {
        transform: translateY(-3px);
        box-shadow: 0 6px 20px #66BB6A;
    }

    /* Dark Mode Toggle Button */
    .nutri-theme-toggle-btn {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background: linear-gradient(135deg, #66BB6A 0%, #66BB6A 100%);
        border: none;
        color: white;
        font-size: 24px;
        cursor: pointer;
        box-shadow: 0 4px 15px #66BB6A;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        overflow: hidden;
    }

    .nutri-theme-toggle-btn:hover {
        transform: translateY(-3px);
        box-shadow: 0 6px 20px #66BB6A;
    }

    .nutri-theme-toggle-btn:active {
        transform: translateY(-1px);
    }

    .nutri-theme-icon {
        position: absolute;
        transition: all 0.3s ease;
    }

    .nutri-sun-icon {
        opacity: 1;
        transform: rotate(0deg) scale(1);
    }

    .nutri-moon-icon {
        opacity: 0;
        transform: rotate(180deg) scale(0);
    }

    [data-theme="dark"] .nutri-sun-icon {
        opacity: 0;
        transform: rotate(-180deg) scale(0);
    }

    [data-theme="dark"] .nutri-moon-icon {
        opacity: 1;
        transform: rotate(0deg) scale(1);
    }

    /* Font Customization Panel */
    .nutri-font-panel {
        position: fixed;
        bottom: 30px;
        right: 20px;
        width: 320px;
        max-height: 500px;
        background: var(--bg-secondary);
        border-radius: 16px;
        box-shadow: 0 10px 40px var(--shadow);
        padding: 20px;
        z-index: 9999;
        opacity: 0;
        transform: translateY(20px) scale(0.95);
        pointer-events: none;
        transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        border: 1px solid var(--border-color);
        overflow-y: auto;
    }

    .nutri-font-panel.active {
        opacity: 1;
        transform: translateY(0) scale(1);
        pointer-events: all;
    }

    .nutri-font-panel-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 20px;
    }

    .nutri-font-panel-title {
        font-size: 1.2rem;
        font-weight: 600;
        color: var(--text-primary);
        margin: 0;
    }

    .nutri-close-panel {
        background: none;
        border: none;
        color: var(--text-secondary);
        font-size: 20px;
        cursor: pointer;
        padding: 5px;
        transition: color 0.3s ease;
    }

    .nutri-close-panel:hover {
        color: var(--text-primary);
    }

    .nutri-font-options {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .nutri-font-option {
        padding: 12px 16px;
        background: var(--bg-primary);
        border: 2px solid var(--border-color);
        border-radius: 10px;
        cursor: pointer;
        transition: all 0.3s ease;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .nutri-font-option:hover {
        border-color: var(--primary-color);
        transform: translateX(5px);
    }

    .nutri-font-option.active {
        border-color: var(--primary-color);
        background: linear-gradient(135deg, rgba(255, 107, 107, 0.1) 0%, rgba(245, 87, 108, 0.1) 100%);
    }

    .nutri-font-name {
        color: var(--text-primary);
        font-weight: 500;
    }

    .nutri-font-check {
        color: var(--primary-color);
        font-size: 18px;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .nutri-font-option.active .nutri-font-check {
        opacity: 1;
    }

    .nutri-font-preview {
        margin-top: 15px;
        padding: 15px;
        background: var(--bg-primary);
        border-radius: 10px;
        border: 1px solid var(--border-color);
    }

    .nutri-font-preview-label {
        font-size: 0.85rem;
        color: var(--text-secondary);
        margin-bottom: 8px;
    }

    .nutri-font-preview-text {
        font-size: 1rem;
        color: var(--text-primary);
        line-height: 1.6;
    }

    /* Tooltips */
    .nutri-tooltip-wrapper {
        position: relative;
    }

    .nutri-fab-tooltip {
        position: absolute;
        right: 70px;
        top: 50%;
        transform: translateY(-50%);
        background: rgba(0, 0, 0, 0.8);
        color: white;
        padding: 8px 12px;
        border-radius: 6px;
        font-size: 14px;
        white-space: nowrap;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
    }

    .nutri-tooltip-wrapper:hover .nutri-fab-tooltip {
        opacity: 1;
    }

    .nutri-fab-tooltip::after {
        content: '';
        position: absolute;
        right: -5px;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-left: 5px solid rgba(0, 0, 0, 0.8);
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
    }

    /* Animation for mode switch */
    @keyframes nutriModeSwitch {
        0% {
            transform: rotate(0deg) scale(1);
        }

        50% {
            transform: rotate(180deg) scale(0.8);
        }

        100% {
            transform: rotate(360deg) scale(1);
        }
    }

    .nutri-theme-toggle-btn.switching {
        animation: nutriModeSwitch 0.6s ease;
    }

    /* Responsive */
    @media (max-width: 768px) {
        .nutri-fab-container {
            bottom: 15px;
            right: 15px;
        }

        .nutri-theme-toggle-btn,
        .nutri-font-toggle-btn {
            width: 50px;
            height: 50px;
            font-size: 20px;
        }

        .nutri-font-panel {
            right: 15px;
            bottom: 75px;
            width: calc(100vw - 30px);
            max-width: 320px;
        }

        .nutri-fab-tooltip {
            display: none;
        }
    }

    /* Smooth transitions */
    * {
        transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    }