:root {    --primary-teal: #4B9B8A;    --primary-sage: #7A9F8A;    --warm-coral: #E08E7B;    --soft-gray: #6B7280;    --light-bg: #F8FFFE;    --border-radius: 16px;    --shadow-card: 0 4px 20px rgba(0, 0, 0, 0.1);    --gradient-accent: linear-gradient(135deg, #4B9B8A 0%, #7A9F8A 100%);    --transition: all 0.3s ease;        /* Primary Colors - Warm & Cohesive */    --primary-purple: #5D6DFF;    --primary-warm: #F6F4EF;    --primary-color: #20B2AA;    --accent-coral: #FF8A65;    --warm-coral: #FF6B6B;    --accent-peach: #FFAB91;    --soft-lavender: #E1E4FF;    --soft-gray: #6B7280;    --warm-gray: #8B8B8B;    --deep-purple: #4A5AE8;    --text-dark: #2C2C2C;    --text-light: #5A5A5A;        /* Gradient Variations */    --gradient-primary: linear-gradient(135deg, #5D6DFF 0%, #4A5AE8 100%);    --gradient-warm: linear-gradient(135deg, #FF8A65 0%, #FFAB91 100%);    --gradient-soft: linear-gradient(135deg, #F6F4EF 0%, #E1E4FF 100%);    --gradient-hero: linear-gradient(45deg, rgba(93, 109, 255, 0.9), rgba(255, 138, 101, 0.7));    --gradient-accent: linear-gradient(135deg, #20B2AA 0%, #5D6DFF 100%);        /* Design System */    --border-radius-sm: 8px;    --border-radius: 16px;    --border-radius-lg: 24px;    --shadow-soft: 0 4px 20px rgba(93, 109, 255, 0.1);    --shadow-medium: 0 8px 30px rgba(93, 109, 255, 0.15);    --shadow-strong: 0 12px 40px rgba(93, 109, 255, 0.2);    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);    --transition-slow: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);}* {    margin: 0;    padding: 0;    box-sizing: border-box;    scroll-behavior: smooth;    -webkit-tap-highlight-color: transparent;}html {    height: 100%;    width: 100%;    overflow-x: hidden;    scroll-behavior: smooth;    font-size: 16px;}body {    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;    line-height: 1.6;    background: var(--primary-warm);    color: var(--text-dark);    overflow-x: hidden;    /* Reduced top padding for better carousel positioning */    padding-top: 0px;    padding-bottom: 20px;      -webkit-font-smoothing: antialiased;    -moz-osx-font-smoothing: grayscale;    text-rendering: optimizeLegibility;    touch-action: manipulation;}/* Custom Scrollbar Design */::-webkit-scrollbar {    width: 8px;}::-webkit-scrollbar-track {    background: rgba(255, 255, 255, 0.1);    border-radius: 10px;}::-webkit-scrollbar-thumb {    background: var(--gradient-primary);    border-radius: 10px;    border: 1px solid rgba(255, 255, 255, 0.2);}::-webkit-scrollbar-thumb:hover {    background: var(--gradient-accent);    transform: scale(1.1);    transition: var(--transition);}/* Firefox scrollbar */* {    scrollbar-width: thin;    scrollbar-color: var(--primary-purple) rgba(255, 255, 255, 0.1);}.container {    max-width: 1200px;    margin: 0 auto;    padding: 0 20px;}.section {    padding: 10px 0;    position: relative;    z-index: 1;}/* Carousel Optimizations */.carousel {    margin-top: 0;    position: relative;}.carousel-item {    /* Optimized height for better screen utilization */    min-height: 100vh;    display: flex;    align-items: center;    justify-content: center;    padding: 2px 0;}.hero-content {    z-index: 3;    position: relative;    display: flex;    flex-direction: column;    justify-content: center;    height: 100%;}.hero-image-container {    z-index: 2;    display: flex;    align-items: center;    justify-content: center;    height: 100%;}.carousel-control-prev,.carousel-control-next {    display: none !important;}.carousel-indicators {    bottom: 0px;    z-index: 4;}.carousel-indicators button {    width: 12px;    height: 12px;    border-radius: 50%;    margin: 0 5px;    border: 2px solid rgba(255,255,255,0.5);    background: transparent;    transition: var(--transition);}.carousel-indicators button.active {    background: white;    border-color: white;    transform: scale(1.2);}.carousel-indicators button:hover {    background: rgba(255,255,255,0.7);    transform: scale(1.1);}@keyframes float {    0%, 100% { transform: translateY(0px); }    50% { transform: translateY(-20px); }}.float {    animation: float 6s ease-in-out infinite;}.float-reverse {    animation: float 8s ease-in-out infinite reverse;}/* Tablet Optimizations */@media (max-width: 1024px) {    .carousel-item {        min-height: 90vh;        padding: 30px 0;    }        .hero-content {        padding: 0 15px;    }}/* Mobile Optimizations */@media (max-width: 768px) {    body {        padding-top: 0;        padding-bottom: 60px;    }        .carousel-item {        min-height: 100vh;        padding: 20px 0;        display: flex;        flex-direction: column;        justify-content: center;    }        .hero-content {        text-align: center;        margin-bottom: 2rem;        order: 2;        padding: 0 10px;    }        .hero-image-container {        order: 1;        margin-bottom: 2rem;        flex-shrink: 0;    }        .display-3 {        font-size: 2.5rem !important;        line-height: 1.2;    }        .row {        flex-direction: column;        height: 100%;        align-items: center;        justify-content: center;    }        .col-lg-6:last-child {        order: -1;    }        .carousel-indicators {        bottom: 20px;    }}/* Small Mobile Optimizations */@media (max-width: 480px) {    .carousel-item {        min-height: 100vh;        padding: 15px 0;    }        .hero-content {        padding: 0 15px;    }        .display-3 {        font-size: 2rem !important;    }        .carousel-indicators button {        width: 10px;        height: 10px;        margin: 0 3px;    }}/* Touch swipe support */.carousel-inner {    touch-action: pan-y;    height: 100%;}/* Smooth transitions */.carousel-item {    transition: transform 0.6s ease-in-out;}.carousel.slide .carousel-item {    display: flex;}.carousel-fade .carousel-item {    opacity: 0;    transition-property: opacity;    transform: none;    display: flex !important;}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end {    opacity: 1;}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end {    opacity: 0;}/* Prevent double scrollbars */.carousel,.carousel-inner,.carousel-item {    overflow: visible;}/* Ensure full viewport usage */.carousel-item .container {    height: 100%;    display: flex;    align-items: center;}.carousel-item .row {    width: 100%;    margin: 0;    align-items: center;}/* Enhanced scrollbar for specific containers if needed */.custom-scroll {    scrollbar-width: thin;    scrollbar-color: var(--primary-purple) transparent;}.custom-scroll::-webkit-scrollbar {    width: 6px;}.custom-scroll::-webkit-scrollbar-track {    background: transparent;}.custom-scroll::-webkit-scrollbar-thumb {    background: var(--gradient-primary);    border-radius: 10px;    border: 1px solid rgba(255, 255, 255, 0.1);}.custom-scroll::-webkit-scrollbar-thumb:hover {    background: var(--gradient-accent);}/* Custom header styles *//* Custom header styles */.topnav {    background: linear-gradient(135deg, #0d9488 0%, #14b8a6 50%, #6ee7b7 100%) !important;    backdrop-filter: blur(10px);    border-bottom: 3px solid rgba(255, 255, 255, 0.2);    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);    transition: all 0.3s ease;    min-height: 70px;    position: relative;}.navbar-brand {    color: white !important;    font-weight: 700;    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);    transition: all 0.3s ease;    display: flex;    align-items: center;    font-size: 1.8rem; /* Increased font size */    text-decoration: none !important; /* Remove underline */}.navbar-brand:hover {    color: #fbbf24 !important;    transform: translateY(-2px);    text-decoration: none !important; /* Remove underline on hover */}.navbar-brand .fas {    color: #6ee7b7;    font-size: 2rem; /* Increased icon size */    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);}/* Desktop navigation centering */@media (min-width: 992px) {    .navbar-nav {        position: absolute;        left: 50%;        transform: translateX(-50%);        margin: 0 !important;    }        .navbar-collapse {        position: static;    }        .d-flex.align-items-center {        margin-left: auto;    }}.nav-link {    color: white !important;    font-weight: 600; /* Increased font weight */    font-size: 1.1rem; /* Increased font size */    padding: 12px 18px !important; /* Increased padding */    border-radius: 25px;    margin: 0 8px; /* Increased margin */    transition: all 0.3s ease;    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);    display: flex;    align-items: center;    white-space: nowrap; /* Prevents text wrapping */    text-decoration: none !important; /* Remove underline */}.nav-link:hover {    background: rgba(255, 255, 255, 0.2);    color: #fbbf24 !important;    transform: translateY(-2px);    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);    text-decoration: none !important; /* Remove underline on hover */}.nav-link:focus,.nav-link:active,.nav-link:visited {    text-decoration: none !important; /* Remove underline for all states */}.nav-link i {    color: #a7f3d0;    font-size: 1.2rem; /* Increased icon size */    transition: all 0.3s ease;    margin-right: 8px !important; /* Ensure proper spacing */    flex-shrink: 0; /* Prevent icon from shrinking */}.nav-link:hover i {    color: #fbbf24;    transform: scale(1.1);}/* Beautiful buttons - Base button styles */.btno {    font-weight: 600;    font-size: 1.05rem; /* Increased font size */    padding: 12px 24px; /* Increased padding */    border-radius: 25px;    transition: all 0.3s ease;    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);    margin: 0 8px; /* Increased margin */    display: flex;    align-items: center;    white-space: nowrap;    text-decoration: none !important; /* Remove underline */    cursor: pointer;}.btno:hover,.btno:focus,.btno:active,.btno:visited {    text-decoration: none !important; /* Remove underline for all states */}.btno i {    font-size: 1.1rem; /* Increased icon size */    margin-right: 8px !important;    flex-shrink: 0;}/* Outline primary button */.btno-outline-primary {    border: 2px solid white !important;    color: white !important;    background: transparent;}.btno-outline-primary:hover {    background: white !important;    color: #0d9488 !important;    transform: translateY(-3px);    box-shadow: 0 6px 20px rgba(255, 255, 255, 0.3);}/* Primary button */.btno-primary {    background: linear-gradient(45deg, #f59e0b, #fbbf24) !important;    border: 2px solid #f59e0b !important;    color: white !important;    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);}.btno-primary:hover {    background: linear-gradient(45deg, #d97706, #f59e0b) !important;    border-color: #d97706 !important;    transform: translateY(-3px);    box-shadow: 0 8px 25px rgba(245, 158, 11, 0.4);}.btno:focus {    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3) !important;}/* Global link decoration removal for navigation area */.topnav a,.topnav a:hover,.topnav a:focus,.topnav a:active,.topnav a:visited {    text-decoration: none !important;}/* Navbar toggler */.navbar-toggler {    border: 2px solid white !important;    padding: 8px 12px;    border-radius: 8px;    transition: all 0.3s ease;    order: 2;}.navbar-toggler:hover {    background: rgba(255, 255, 255, 0.1);    transform: scale(1.05);}.navbar-toggler-icon {    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='m4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;}/* Mobile responsive styles */@media (max-width: 991.98px) {    .topnav {        padding: 10px 0;    }        .navbar-collapse {        position: absolute;        top: 100%;        left: 0;        right: 0;        background: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%);        border-radius: 0 0 15px 15px;        padding: 20px;        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);        z-index: 1000;        margin-top: 0;    }        .nav-link {        margin: 5px 0;        text-align: center;        border-radius: 15px;        justify-content: center;        font-size: 1rem; /* Reset font size for mobile */    }        .nav-link i {        font-size: 1rem; /* Reset icon size for mobile */    }        .d-flex.align-items-center {        flex-direction: column;        width: 100%;        margin-top: 15px;    }        .btno {        width: 100%;        margin: 5px 0;        padding: 12px 20px;        font-size: 1rem; /* Reset font size for mobile */        justify-content: center;    }        .btno i {        font-size: 1rem; /* Reset icon size for mobile */    }        .navbar-brand {        font-size: 1.5rem;        position: static;        transform: none;    }        .navbar-brand .fas {        font-size: 1.5rem; /* Reset icon size for mobile */    }        .navbar-toggler {        position: static;        transform: none;    }        .navbar-expand-lg .container-fluid {        display: flex;        flex-wrap: wrap;        align-items: center;        justify-content: space-between;    }}@media (max-width: 576px) {    .container-fluid {        padding: 0 15px;    }        .navbar-brand {        font-size: 1.3rem;    }        .navbar-brand .fas {        font-size: 1.3rem;    }        .btno {        font-size: 0.95rem;        padding: 12px 15px;    }}/* Animation for mobile menu */.navbar-collapse.collapsing {    transition: height 0.4s ease;}.navbar-collapse.show {    animation: slideDown 0.4s ease;}@keyframes slideDown {    from {        opacity: 0;        transform: translateY(-10px);    }    to {        opacity: 1;        transform: translateY(0);    }}.mood-btn {    padding: 1rem;    border-radius: var(--border-radius-sm);    background: #660185;    color: white;    border: 1px solid var(--primary-sage);    transition: var(--transition);    text-align: center;}.mood-btn:hover {    transform: translateY(-2px);    background: var(--primary-color);    color: white;}.mood-btn i {    font-size: 1.5rem;    margin-bottom: 0.5rem;    display: block;    color: white;}.mood-btn.active {    background: var(--accent-peach);    color: white;    border-color: var(--primary-sage);}.prep-activity-card {    background: var(--primary-warm);    border: 1px solid var(--warm-gray);    border-radius: var(--border-radius-sm);    padding: 1rem;    height: 100%;    transition: var(--transition);    box-shadow: var(--shadow-soft);}.prep-activity-card:hover {    background: var(--light-bg);    transform: translateY(-1px);    box-shadow: var(--shadow-medium);}.activity-header i {    color: var(--primary-color);}.stat-number {    font-size: 2rem;    font-weight: bold;    color: var(--deep-purple);}.stat-label {    font-size: 0.9rem;    color: var(--soft-gray);}.ai-recommendation {    background: rgba(255, 138, 101, 0.1);    border: 1px solid rgba(255, 138, 101, 0.3);    border-radius: var(--border-radius-sm);    padding: 1rem;    color: var(--text-dark);}.session-config {    background: var(--primary-warm);    border-radius: var(--border-radius-sm);    padding: 1.5rem;    box-shadow: var(--shadow-soft);}/* Responsive Adjustments */@media (max-width: 768px) {    .stats-grid {        grid-template-columns: 1fr;    }    .mood-btn {        padding: 0.75rem;    }    .mood-btn i {        font-size: 1.2rem;    }}    /* ==========================================   COMPLETE CHECK-IN FORM STYLING   ========================================== *//* Container & Layout */.container-fluid {    max-width: 1400px;    margin: 0 auto;}/* Welcome Header */.welcome-header {    background: var(--gradient-soft);    backdrop-filter: blur(10px);    border: 1px solid rgba(255, 255, 255, 0.3);    border-radius: var(--border-radius-lg);    box-shadow: var(--shadow-medium);    position: relative;    overflow: hidden;    padding: 40px;    transition: var(--transition);}.welcome-header::before {    content: '';    position: absolute;    top: 0;    left: 0;    right: 0;    bottom: 0;    background: var(--gradient-hero);    opacity: 0.08;    z-index: -1;}.welcome-header h1 {    font-size: 2.2rem;    font-weight: 700;    color: var(--text-dark);    margin-bottom: 0.5rem;    line-height: 1.2;}.welcome-header h2 {    font-size: 1.4rem;    font-weight: 600;    color: var(--primary-purple);    margin-bottom: 1rem;}.welcome-header p {    font-size: 1.05rem;    color: var(--text-light);    max-width: 600px;    margin: 0 auto;    line-height: 1.6;}.streak-badge .badge {    font-size: 1rem;    font-weight: 600;    padding: 0.75rem 1.5rem;    border-radius: var(--border-radius);    background: var(--gradient-primary) !important;    color: white;    box-shadow: var(--shadow-soft);    border: none;}/* Alert Styling */.alert {    border: none;    border-radius: var(--border-radius);    box-shadow: var(--shadow-soft);    font-weight: 500;}.alert-success {    background: rgba(32, 178, 170, 0.1);    color: var(--primary-color);    border-left: 4px solid var(--primary-color);}.alert-danger {    background: rgba(255, 107, 107, 0.1);    color: var(--warm-coral);    border-left: 4px solid var(--warm-coral);}/* Prep Activities Card Styles */.prep-activity-card {    margin-bottom: 20px;    overflow: hidden;    border-radius: 15px;    transition: all 0.3s ease;    border: 2px solid transparent;}.prep-activity-card:hover {    transform: translateY(-3px);    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);}.activity-content {    display: flex;    min-height: 200px;}.activity-left {    flex: 1;    padding: 25px;    background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.7));    display: flex;    flex-direction: column;    justify-content: space-between;}.activity-right {    flex: 1;    background: #000;    position: relative;    display: flex;    align-items: center;    justify-content: center;    min-height: 200px;}.activity-title {    font-size: 1.4rem;    font-weight: 700;    color: var(--text-dark, #2d3748);    margin-bottom: 10px;    display: flex;    align-items: center;    flex-wrap: wrap;}.activity-type-badge {    background: linear-gradient(45deg, #667eea, #f093fb);    color: white;    padding: 4px 12px;    border-radius: 20px;    font-size: 0.75rem;    font-weight: 600;    margin-left: 10px;    text-transform: uppercase;    white-space: nowrap;}.activity-description {    color: var(--text-light, #718096);    font-size: 0.95rem;    line-height: 1.6;    margin-bottom: 15px;}.activity-meta {    display: flex;    justify-content: space-between;    align-items: center;    margin-bottom: 20px;}.activity-duration {    background: rgba(102, 126, 234, 0.1);    color: #667eea;    padding: 8px 16px;    border-radius: 25px;    font-weight: 600;    font-size: 0.9rem;    display: flex;    align-items: center;    gap: 5px;}.activity-instructions {    background: rgba(118, 75, 162, 0.1);    padding: 15px;    border-radius: 10px;    border-left: 4px solid #764ba2;    font-size: 0.9rem;    line-height: 1.5;    color: var(--text-dark, #2d3748);}/* Video Player Styles */.video-container {    position: relative;    width: 100%;    height: 100%;    min-height: 200px;    border-radius: 0 15px 15px 0;    overflow: hidden;}.video-player {    width: 100%;    height: 100%;    object-fit: cover;    border-radius: 0;}.video-overlay {    position: absolute;    top: 0;    left: 0;    right: 0;    bottom: 0;    background: rgba(0, 0, 0, 0.5);    display: flex;    align-items: center;    justify-content: center;    cursor: pointer;    transition: all 0.3s ease;}.video-overlay:hover {    background: rgba(0, 0, 0, 0.3);}.play-button {    width: 70px;    height: 70px;    background: linear-gradient(45deg, #667eea, #f093fb);    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    color: white;    font-size: 24px;    border: none;    cursor: pointer;    transition: all 0.3s ease;    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);}.play-button:hover {    transform: scale(1.1);    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);}/* Radio Button Styles */.prep-selection .prep-option {    margin-bottom: 0 !important;}.prep-option input[type="radio"] {    position: absolute;    opacity: 0;    cursor: pointer;}.prep-option label {    display: block;    cursor: pointer;    margin-bottom: 0;}.prep-option input[type="radio"]:checked + label .prep-activity-card {    border: 3px solid #667eea;    box-shadow: 0 0 20px rgba(102, 126, 234, 0.3);    transform: translateY(-2px);}.prep-option input[type="radio"]:focus + label .prep-activity-card {    outline: 2px solid #667eea;    outline-offset: 2px;}/* Skip Prep Container */.skip-prep-container {    background: rgba(255, 255, 255, 0.1);    padding: 15px;    border-radius: 10px;    margin-top: 20px;    text-align: center;    backdrop-filter: blur(10px);}.skip-prep-container label {    color: white;    font-weight: 500;    cursor: pointer;}.skip-prep-container .form-check-input {    margin-right: 10px;}/* Loading States */.prep-activities-loading {    display: flex;    justify-content: center;    align-items: center;    min-height: 200px;    color: white;}.prep-activities-loading .spinner-border {    width: 3rem;    height: 3rem;}/* Error States */.prep-activities-error {    background: rgba(220, 53, 69, 0.1);    border: 1px solid rgba(220, 53, 69, 0.3);    color: #dc3545;    padding: 20px;    border-radius: 10px;    text-align: center;}/* Responsive Design */@media (max-width: 768px) {    .activity-content {        flex-direction: column;        min-height: auto;    }        .activity-left, .activity-right {        flex: none;    }        .activity-right {        min-height: 200px;    }        .activity-title {        font-size: 1.2rem;    }        .activity-type-badge {        margin-left: 0;        margin-top: 5px;    }        .activity-left {        padding: 20px;    }        .video-container {        border-radius: 0 0 15px 15px;    }}@media (max-width: 576px) {    .activity-left {        padding: 15px;    }        .activity-title {        font-size: 1.1rem;        flex-direction: column;        align-items: flex-start;    }        .activity-type-badge {        margin-left: 0;        margin-top: 8px;    }        .activity-meta {        flex-direction: column;        align-items: flex-start;        gap: 10px;    }        .play-button {        width: 60px;        height: 60px;        font-size: 20px;    }}/* Animation for card selection */@keyframes cardSelect {    0% {        transform: scale(1);    }    50% {        transform: scale(1.02);    }    100% {        transform: scale(1);    }}.prep-option input[type="radio"]:checked + label .prep-activity-card {    animation: cardSelect 0.3s ease;}/* Accessibility improvements */.prep-option input[type="radio"]:focus + label .prep-activity-card {    outline: 2px solid #667eea;    outline-offset: 2px;}/* High contrast mode support */@media (prefers-contrast: high) {    .activity-left {        background: #ffffff;        color: #000000;    }        .activity-type-badge {        background: #000000;        color: #ffffff;    }        .play-button {        background: #000000;        color: #ffffff;    }}/* Reduced motion support */@media (prefers-reduced-motion: reduce) {    .prep-activity-card,    .play-button,    .video-overlay {        transition: none;    }        .prep-activity-card:hover {        transform: none;    }        .play-button:hover {        transform: none;    }}/* Sidebar Styling */.sidebar-title {    font-size: 1.2rem;    font-weight: 700;    color: var(--text-dark);    margin-bottom: 1rem;    display: flex;    align-items: center;    gap: 0.5rem;}/* Recommendation Items */.recommendation-item {    background: rgba(255, 138, 101, 0.1);    border: 1px solid rgba(255, 138, 101, 0.2);    border-radius: var(--border-radius);    padding: 1rem;    margin-bottom: 1rem;    transition: var(--transition);}.recommendation-item:hover {    background: rgba(255, 138, 101, 0.15);    transform: translateY(-1px);}.recommendation-text {    font-size: 0.95rem;    color: var(--text-dark);    margin-bottom: 0.75rem;    line-height: 1.5;}.recommendation-actions {    display: flex;    gap: 0.5rem;    flex-wrap: wrap;}.recommendation-actions .btn {    font-size: 0.85rem;    padding: 0.5rem 1rem;    border-radius: var(--border-radius-sm);    transition: var(--transition);}.accept-rec {    background: var(--primary-color);    border-color: var(--primary-color);    color: white;}.accept-rec:hover {    background: var(--primary-purple);    border-color: var(--primary-purple);}.dismiss-rec {    background: transparent;    border-color: var(--soft-gray);    color: var(--soft-gray);}.dismiss-rec:hover {    background: var(--soft-gray);    color: white;}/* Check-in Items */.checkin-item {    background: var(--primary-warm);    border: 1px solid rgba(255, 255, 255, 0.5);    border-radius: var(--border-radius);    padding: 1rem;    margin-bottom: 1rem;    transition: var(--transition);}.checkin-item:hover {    background: rgba(255, 255, 255, 0.8);    transform: translateY(-1px);}.checkin-header {    display: flex;    justify-content: space-between;    align-items: center;    margin-bottom: 0.5rem;}.mood-badge {    padding: 0.25rem 0.75rem;    border-radius: var(--border-radius-sm);    font-size: 0.8rem;    font-weight: 600;    text-transform: uppercase;    letter-spacing: 0.5px;}.mood-badge.tired {    background: rgba(108, 117, 125, 0.2);    color: var(--soft-gray);}.mood-badge.okay {    background: rgba(32, 178, 170, 0.2);    color: var(--primary-color);}.mood-badge.anxious {    background: rgba(255, 107, 107, 0.2);    color: var(--warm-coral);}.mood-badge.motivated {    background: rgba(93, 109, 255, 0.2);    color: var(--primary-purple);}.checkin-time {    font-size: 0.85rem;    color: var(--text-light);}.checkin-metrics {    margin-bottom: 0.5rem;}.checkin-notes {    font-size: 0.9rem;    color: var(--text-light);    margin-bottom: 0;    line-height: 1.4;}/* Mood Patterns */.mood-patterns {    display: flex;    flex-direction: column;    gap: 0.75rem;}.pattern-item {    background: var(--primary-warm);    border: 1px solid rgba(255, 255, 255, 0.5);    border-radius: var(--border-radius);    padding: 1rem;    transition: var(--transition);}.pattern-item:hover {    background: rgba(255, 255, 255, 0.8);    transform: translateY(-1px);}.pattern-info {    display: flex;    justify-content: space-between;    align-items: center;    margin-bottom: 0.5rem;}.pattern-mood {    font-weight: 600;    color: var(--text-dark);    text-transform: capitalize;}.pattern-count {    font-size: 0.9rem;    color: var(--text-light);}.pattern-bar {    height: 6px;    background: var(--soft-lavender);    border-radius: 3px;    overflow: hidden;}.pattern-fill {    height: 100%;    border-radius: 3px;    transition: width 0.8s ease;}.pattern-fill.tired {    background: var(--soft-gray);}.pattern-fill.okay {    background: var(--primary-color);}.pattern-fill.anxious {    background: var(--warm-coral);}.pattern-fill.motivated {    background: var(--primary-purple);}/* Quick Actions */.quick-actions {    display: flex;    flex-direction: column;    gap: 0.75rem;}.action-btn {    display: flex;    align-items: center;    gap: 0.75rem;    padding: 1rem;    border-radius: var(--border-radius);    text-decoration: none;    transition: var(--transition);    font-weight: 600;    border: 1px solid transparent;}.action-btn.primary {    background: var(--gradient-primary);    color: white;    box-shadow: var(--shadow-soft);}.action-btn.primary:hover {    transform: translateY(-2px);    box-shadow: var(--shadow-medium);    color: white;}.action-btn.secondary {    background: var(--primary-warm);    color: var(--text-dark);    border-color: rgba(255, 255, 255, 0.5);}.action-btn.secondary:hover {    background: rgba(255, 255, 255, 0.8);    transform: translateY(-1px);    color: var(--text-dark);}.action-btn i {    font-size: 1.1rem;}/* Responsive Design */@media (max-width: 1200px) {    .container-fluid {        padding: 0 15px;    }}@media (max-width: 992px) {    .welcome-header h1 {        font-size: 2rem;    }        .welcome-header h2 {        font-size: 1.3rem;    }        .mood-card {        padding: 1.2rem;    }        .mood-icon {        font-size: 2rem;    }        .metric-group {        padding: 1.2rem;    }}@media (max-width: 768px) {    .welcome-header {        margin-bottom: 2rem;    }        .welcome-header h1 {        font-size: 1.8rem;    }        .welcome-header h2 {        font-size: 1.2rem;    }        .welcome-header p {        font-size: 1rem;    }        .mood-card {        padding: 1rem;        margin-bottom: 1rem;    }        .mood-icon {        font-size: 1.8rem;    }        .mood-title {        font-size: 1.1rem;    }        .mood-description,    .mood-suggestion {        font-size: 0.85rem;    }        .metric-group {        padding: 1rem;        margin-bottom: 1rem;    }        .submit-section .btn {        width: 100%;        padding: 1rem;    }        .recommendation-actions {        flex-direction: column;    }        .recommendation-actions .btn {        width: 100%;    }        .quick-actions .action-btn {        justify-content: center;    }}@media (max-width: 576px) {    .container-fluid {        padding: 0 10px;    }        .welcome-header {        padding: 1.5rem;    }        .welcome-header h1 {        font-size: 1.6rem;    }        .glass-card {        padding: 1.5rem;    }        .mood-selection .row {        gap: 1rem;    }        .mood-card {        padding: 0.8rem;    }        .mood-icon {        font-size: 1.5rem;    }        .section-title {        font-size: 1.2rem;    }        .sidebar-title {        font-size: 1.1rem;    }}/* Form Validation */.was-validated .form-control:invalid {    border-color: var(--warm-coral);}.was-validated .form-control:valid {    border-color: var(--primary-color);}/* Loading States */.btn:disabled {    opacity: 0.6;    cursor: not-allowed;}/* Focus States for Accessibility */.btn:focus,.form-control:focus,.form-range:focus {    outline: none;    box-shadow: 0 0 0 0.2rem rgba(93, 109, 255, 0.25);}/* Smooth Animations */@keyframes fadeIn {    from {        opacity: 0;        transform: translateY(10px);    }    to {        opacity: 1;        transform: translateY(0);    }}.glass-card {    animation: fadeIn 0.6s ease;}/* Print Styles */@media print {    .glass-card {        background: white;        box-shadow: none;        border: 1px solid #ddd;    }        .welcome-header::before,    .glass-card::before {        display: none;    }}                          /* Navigation */        .topnav {            position: fixed;            top: 0;            left: 0;            right: 0;            background: rgba(255, 255, 255, 0.95);            backdrop-filter: blur(10px);            z-index: 1000;            border-bottom: 1px solid rgba(75, 155, 138, 0.1);            transition: var(--transition);        }        .topnav-container {            display: flex;            justify-content: space-between;            align-items: center;            padding: 1rem 2rem;            max-width: 1200px;            margin: 0 auto;        }        .topnav-logo {            display: flex;            align-items: center;            font-size: 1.5rem;            font-weight: 700;            color: var(--primary-teal);        }        .topnav-logo i {            margin-right: 0.5rem;        }        .topnav-links {            display: flex;            list-style: none;            gap: 2rem;        }        .topnav-links a {            text-decoration: none;            color: var(--soft-gray);            font-weight: 500;            transition: var(--transition);        }        .topnav-links a:hover {            color: var(--primary-teal);        }        .topnav-auth {            display: flex;            gap: 1rem;        }        .btn-outline, .btn-filled {            padding: 0.75rem 1.5rem;            border-radius: var(--border-radius);            text-decoration: none;            font-weight: 600;            transition: var(--transition);        }        .btn-outline {            border: 2px solid var(--primary-teal);            color: var(--primary-teal);            background: transparent;        }        .btn-outline:hover {            background: var(--primary-teal);            color: white;        }        .btn-filled {            background: var(--primary-teal);            color: white;            border: 2px solid var(--primary-teal);        }        .btn-filled:hover {            background: var(--primary-sage);            border-color: var(--primary-sage);        }        .desktop-only {            display: flex;        }        .mobile-only {            display: none;        }        @media (max-width: 768px) {            .desktop-only {                display: none;            }            .mobile-only {                display: flex;            }        }        .topnav-icon-btn {            padding: 0.5rem;            color: var(--primary-teal);            text-decoration: none;            border-radius: 8px;            transition: var(--transition);        }        .topnav-icon-btn:hover {            background: rgba(75, 155, 138, 0.1);        }        /* Features Grid */        .features-grid {            display: grid;            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));            gap: 2rem;            margin-top: 3rem;        }        .glass-card {            background: rgba(255, 255, 255, 0.9);            backdrop-filter: blur(10px);            border: 1px solid rgba(255, 255, 255, 0.2);            border-radius: var(--border-radius);            padding: 2rem;            text-align: center;            transition: var(--transition);            box-shadow: var(--shadow-card);        }        .glass-card:hover {            transform: translateY(-5px);            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);        }        .feature-icon {            font-size: 3rem;            color: var(--primary-teal);            margin-bottom: 1rem;        }        .feature-card h3 {            font-size: 1.5rem;            margin-bottom: 1rem;            color: var(--primary-teal);        }        .feature-card p {            color: var(--soft-gray);        }        /* Comparison Grid */        .comparison-grid {            display: grid;            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));            gap: 2rem;            margin-top: 3rem;        }        .comparison-card {            background: rgba(255, 255, 255, 0.9);            backdrop-filter: blur(10px);            border-radius: var(--border-radius);            padding: 2rem;            box-shadow: var(--shadow-card);        }        .comparison-card h4 {            display: flex;            align-items: center;            gap: 0.5rem;            margin-bottom: 1rem;            font-size: 1.3rem;        }        .comparison-card ul {            list-style: none;        }        .comparison-card li {            padding: 0.5rem 0;            color: var(--soft-gray);        }        .comparison-card.positive li::before {            content: '✓';            color: var(--primary-teal);            font-weight: bold;            margin-right: 0.5rem;        }        .comparison-card.negative li::before {            content: '✗';            color: var(--warm-coral);            font-weight: bold;            margin-right: 0.5rem;        }        /* FAQ */        .faq-container {            max-width: 800px;            margin: 0 auto;        }        .faq-item {            background: rgba(255, 255, 255, 0.9);            backdrop-filter: blur(10px);            border-radius: var(--border-radius);            margin-bottom: 1rem;            overflow: hidden;            box-shadow: var(--shadow-card);        }        .faq-question {            display: flex;            justify-content: space-between;            align-items: center;            padding: 1.5rem;            cursor: pointer;            font-weight: 600;            color: var(--primary-teal);            transition: var(--transition);        }        .faq-question:hover {            background: rgba(75, 155, 138, 0.05);        }        .faq-answer {            padding: 0 1.5rem;            max-height: 0;            overflow: hidden;            transition: max-height 0.3s ease;        }        .faq-item.active .faq-answer {            max-height: 200px;            padding: 0 1.5rem 1.5rem;        }        .faq-item.active .faq-question i {            transform: rotate(180deg);        }        /* Newsletter */        .newsletter {            background: var(--gradient-accent);            color: white;            padding: 3rem 2rem;            border-radius: var(--border-radius);            text-align: center;        }        .newsletter h2 {            font-size: clamp(2rem, 4vw, 3rem);            margin-bottom: 1rem;        }        .newsletter p {            font-size: 1.2rem;            margin-bottom: 2rem;            opacity: 0.9;        }        .newsletter-form {            display: flex;            gap: 1rem;            max-width: 500px;            margin: 0 auto;            flex-wrap: wrap;        }        .newsletter-form input {            flex: 1;            padding: 1rem;            border: none;            border-radius: var(--border-radius);            font-size: 1rem;            min-width: 200px;        }        .newsletter-form button {            padding: 1rem 2rem;            background: white;            color: var(--primary-teal);            border: none;            border-radius: var(--border-radius);            font-weight: 600;            cursor: pointer;            transition: var(--transition);            white-space: nowrap;        }        .newsletter-form button:hover {            background: #f0f0f0;        }        /* Footer */        .footer {            background: #1a1a1a;            color: white;            padding: 4rem 0 2rem;        }        .footer-content {            display: grid;            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));            gap: 2rem;            margin-bottom: 2rem;        }        .footer-section h3 {            color: var(--primary-sage);            margin-bottom: 1rem;        }        .footer-section ul {            list-style: none;        }        .footer-section ul li {            margin-bottom: 0.5rem;        }        .footer-section ul li a {            color: rgba(255, 255, 255, 0.7);            text-decoration: none;            transition: var(--transition);        }        .footer-section ul li a:hover {            color: var(--primary-sage);        }        .footer-bottom {            text-align: center;            padding-top: 2rem;            border-top: 1px solid #333;            color: rgba(255, 255, 255, 0.7);        }                                      /* Mobile Bottom Navigation */        .mobile-bottom-nav {            position: fixed;            bottom: 0;            left: 0;            right: 0;            background: rgba(255, 255, 255, 0.95);            backdrop-filter: blur(10px);            border-top: 1px solid rgba(75, 155, 138, 0.1);            padding: 0.5rem 0;            z-index: 1000;            justify-content: space-around;        }        .nav-item {            display: flex;            flex-direction: column;            align-items: center;            text-decoration: none;            color: var(--soft-gray);            font-size: 0.8rem;            transition: var(--transition);            padding: 0.5rem;        }        .nav-item i {            font-size: 1.2rem;            margin-bottom: 0.25rem;        }        .nav-item.active,        .nav-item:hover {            color: var(--primary-teal);        }       .animated-bg {    position: fixed;    top: 0;    left: 0;    width: 100%;    height: 100%;    z-index: -1;    pointer-events: none;    overflow: hidden;}.floating-elements {    position: absolute;    width: 100%;    height: 100%;}.floating-shape {    position: absolute;    border-radius: 50%;    background: rgba(0, 128, 128, 0.15);    animation: float 8s ease-in-out infinite;    filter: blur(4px);    opacity: 0.7;}/* Shape variations */.floating-shape:nth-child(1) {    width: 40px;    height: 40px;    top: 15%;    left: 8%;    animation-delay: 0s;}.floating-shape:nth-child(2) {    width: 60px;    height: 60px;    top: 50%;    left: 80%;    animation-delay: 1.5s;}.floating-shape:nth-child(3) {    width: 30px;    height: 30px;    bottom: 10%;    left: 45%;    animation-delay: 3s;}.floating-shape:nth-child(4) {    width: 70px;    height: 70px;    top: 30%;    right: 20%;    animation-delay: 2s;}.floating-shape:nth-child(5) {    width: 50px;    height: 50px;    bottom: 25%;    right: 15%;    animation-delay: 4s;}@keyframes float {    0%, 100% {        transform: translateY(0px) translateX(0px);    }    50% {        transform: translateY(-30px) translateX(10px);    }}        /* Hide footer by default (mobile-first approach) */        .footer {            display: none;        }        /* Show footer only on desktop devices (1024px and up) */        @media (min-width: 1024px) {            .footer {                display: block;            }        }          /* Animation Visibility */        .fade-in,        .slide-in-left,        .slide-in-right {            opacity: 0;            transform: translateY(20px);            transition: all 0.6s ease-out;        }        .visible {            opacity: 1 !important;            transform: none !important;        }                        .nav-links.mobile-open {  display: flex;  flex-direction: column;  position: absolute;  top: 100%;  left: 0;  width: 100%;  background: rgba(255,255,255,0.98);  backdrop-filter: blur(10px);  padding: 1rem;  border-radius: 0 0 var(--border-radius) var(--border-radius);  box-shadow: var(--shadow-card);}        /* Enhanced styles for non-glass sections */        .intro-section {            background: linear-gradient(135deg, rgba(71, 142, 135, 0.1) 0%, rgba(156, 188, 165, 0.1) 100%);            border-radius: 20px;            padding: 4rem 2rem;            margin: 2rem 0;            backdrop-filter: blur(10px);            border: 1px solid rgba(255, 255, 255, 0.1);        }                .comparison-grid {            display: grid;            grid-template-columns: 1fr 1fr;            gap: 2rem;            margin-top: 3rem;        }                .comparison-card {            background: rgba(255, 255, 255, 0.05);            border-radius: 15px;            padding: 2rem;            border: 1px solid rgba(255, 255, 255, 0.1);            transition: transform 0.3s ease;        }                .comparison-card:hover {            transform: translateY(-5px);        }                .comparison-card.negative {            border-left: 4px solid #ff6b6b;        }                .comparison-card.positive {            border-left: 4px solid #51c78a;        }                .faq-container {            max-width: 800px;            margin: 0 auto;        }                .faq-item {            background: rgba(255, 255, 255, 0.05);            border-radius: 12px;            margin-bottom: 1rem;            border: 1px solid rgba(255, 255, 255, 0.1);            overflow: hidden;        }                .faq-question {            padding: 1.5rem;            cursor: pointer;            display: flex;            justify-content: space-between;            align-items: center;            font-weight: 600;            transition: background-color 0.3s ease;        }                .faq-question:hover {            background: rgba(255, 255, 255, 0.05);        }                .faq-answer {            padding: 0 1.5rem;            max-height: 0;            overflow: hidden;            transition: max-height 0.3s ease, padding 0.3s ease;        }                .faq-item.active .faq-answer {            max-height: 200px;            padding: 0 1.5rem 1.5rem;        }                .faq-item.active .faq-question i {            transform: rotate(180deg);        }                .newsletter {            background: linear-gradient(135deg, #478E87 0%, #9CBC85 100%);            border-radius: 20px;            padding: 4rem 2rem;            text-align: center;            color: white;        }                .newsletter-form {            display: flex;            gap: 1rem;            max-width: 500px;            margin: 2rem auto 0;            flex-wrap: wrap;        }                .newsletter-form input {            flex: 1;            padding: 1rem;            border: none;            border-radius: 12px;            font-size: 1rem;            min-width: 250px;        }                .newsletter-form button {            padding: 1rem 2rem;            background: rgba(255, 255, 255, 0.2);            color: white;            border: 2px solid rgba(255, 255, 255, 0.3);            border-radius: 12px;            font-weight: 600;            cursor: pointer;            transition: all 0.3s ease;            white-space: nowrap;        }                .newsletter-form button:hover {            background: rgba(255, 255, 255, 0.3);            transform: translateY(-2px);        }                .app-showcase {            background: linear-gradient(135deg, rgba(71, 142, 135, 0.1) 0%, rgba(156, 188, 165, 0.1) 100%);            border-radius: 20px;            padding: 4rem 2rem;            margin: 2rem 0;        }                .app-features {            display: grid;            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));            gap: 2rem;            margin-top: 3rem;        }                .app-feature {            text-align: center;            padding: 2rem;            background: rgba(255, 255, 255, 0.05);            border-radius: 15px;            border: 1px solid rgba(255, 255, 255, 0.1);            transition: transform 0.3s ease;        }                .app-feature:hover {            transform: translateY(-5px);        }                .app-feature i {            font-size: 2.5rem;            color: #478E87;            margin-bottom: 1rem;        }                @media (max-width: 768px) {            .comparison-grid {                grid-template-columns: 1fr;            }                        .newsletter-form {                flex-direction: column;            }                        .newsletter-form input {                min-width: 100%;            }        }/* Authentication Pages - Consolidated CSS */.auth-section {    min-height: 100vh;    display: flex;    align-items: center;    padding: 2rem 0;    background: linear-gradient(135deg, var(--primary-teal) 0%, var(--accent-purple) 100%);}.auth-container {    display: grid;    grid-template-columns: 1fr 1fr;    gap: 0;    max-width: 1200px;    margin: 0 auto;    background: white;    border-radius: var(--border-radius);    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);    overflow: hidden;    min-height: 600px;}.auth-image {    position: relative;    overflow: hidden;}.auth-image img {    width: 100%;    height: 100%;    object-fit: cover;    min-height: 600px;}.auth-overlay {    position: absolute;    top: 0;    left: 0;    right: 0;    bottom: 0;    background: linear-gradient(135deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.4) 100%);    display: flex;    flex-direction: column;    justify-content: center;    padding: 2rem;    color: white;}.auth-overlay h2 {    font-size: 2.5rem;    margin-bottom: 1rem;    font-weight: 700;}.auth-overlay p {    font-size: 1.2rem;    opacity: 0.9;    line-height: 1.6;}.auth-form-container {    display: flex;    align-items: center;    padding: 2rem;}.auth-form-wrapper {    width: 100%;    max-width: 400px;    margin: 0 auto;}.auth-header {    text-align: center;    margin-bottom: 2rem;}.auth-header h1 {    font-size: 2rem;    color: #4da6a0;    margin-bottom: 0.5rem;}.auth-header p {    color: #6b7280;    font-size: 1rem;}.auth-form {    display: flex;    flex-direction: column;    gap: 1.5rem;}.form-group {    display: flex;    flex-direction: column;}.form-group label {    font-weight: 600;    color: var(--dark-navy);    margin-bottom: 0.5rem;    font-size: 0.9rem;}.form-group input {    padding: 0.875rem;    border: 2px solid #e2e8f0;    border-radius: 8px;    font-size: 1rem;    transition: all 0.3s ease;    background: #ffffff;    color: #334155;    width: 100%;    box-sizing: border-box;}.form-group input:focus {    outline: none;    border-color: #4da6a0;    box-shadow: 0 0 0 3px rgba(77, 166, 160, 0.1);    background: #ffffff;}.form-group input[readonly] {    background: #f8f9fa;    color: #6b7280;    cursor: not-allowed;}.form-group input::placeholder {    color: #9ca3af;    opacity: 1;}.form-hint {    font-size: 0.8rem;    color: var(--soft-gray);    margin-top: 0.25rem;}.checkbox-group {    flex-direction: row;    align-items: flex-start;    gap: 0.5rem;}.checkbox-group input {    width: auto;    margin: 0;}.checkbox-group label {    font-size: 0.9rem;    font-weight: 400;    margin: 0;    line-height: 1.4;}.checkbox-group a {    color: var(--primary-teal);    text-decoration: none;}.checkbox-group a:hover {    text-decoration: underline;}/* Password toggle eye icon */.password-group {    position: relative;}.password-group .toggle-password {    position: absolute;    right: 12px;    top: 50%;    transform: translateY(-50%);    cursor: pointer;    color: #94a3b8; /* Soft grayish */    font-size: 1rem;    z-index: 2;}.password-group .toggle-password:hover {    color: #4da6a0; /* Primary teal on hover */}.auth-btn {    padding: 1rem 2rem;    border: none;    border-radius: 8px;    font-size: 1rem;    font-weight: 600;    cursor: pointer;    transition: var(--transition);    text-decoration: none;    display: inline-flex;    align-items: center;    gap: 0.5rem;    justify-content: center;}.auth-btn.primary {    background: var(--primary-teal);    color: white;}.auth-btn.primary:hover {    background: #1e293b;    transform: translateY(-2px);}.auth-btn.secondary {    background: transparent;    color: var(--primary-teal);    border: 2px solid var(--primary-teal);}.auth-btn.secondary:hover {    background: var(--primary-teal);    color: white;}.auth-links {    text-align: center;    margin-top: 2rem;    padding-top: 1.5rem;    border-top: 1px solid var(--light-gray);}.auth-links p {    margin: 0.5rem 0;}.auth-links a {    color: var(--primary-teal);    text-decoration: none;    font-weight: 600;}.auth-links a:hover {    text-decoration: underline;}/* Verify Page Specific Styles */#code {    text-align: center;    font-size: 1.5rem;    font-weight: 600;    letter-spacing: 0.5rem;    text-transform: uppercase;}.resend-section {    margin: 1rem 0;}.resend-timer {    margin-top: 0.5rem;    font-size: 0.9rem;    color: #6b7280;}/* Mobile Responsive */@media (max-width: 768px) {    .auth-container {        grid-template-columns: 1fr;        margin: 1rem;    }        .auth-image {        display: none;    }        .auth-form-container {        padding: 1.5rem;    }        .auth-header h1 {        font-size: 1.75rem;    }        .auth-overlay h2 {        font-size: 2rem;    }        .auth-section {        padding: 1rem 0;    }}@media (max-width: 480px) {    .auth-form-container {        padding: 1rem;    }        .auth-header h1 {        font-size: 1.5rem;    }        .form-group input {        padding: 0.75rem;    }        #code {        font-size: 1.25rem;        letter-spacing: 0.25rem;    }}/* Updated YouTube container */.youtube-container {    position: relative;    width: 100%;    aspect-ratio: 16/9; /* Maintain aspect ratio */    overflow: hidden;    border-radius: 8px;    background: #000; /* Black background for letterbox areas */}/* Updated thumbnail styling */.youtube-thumbnail {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;    object-fit: cover; /* Cover container while maintaining aspect ratio */}/* Updated iframe styling */.youtube-iframe {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;    border-radius: 8px;}/* for mobile responsiveness */@media (max-width: 768px) {    .youtube-container {        aspect-ratio: 9/16; /* Portrait aspect ratio for mobile */    }}/* Keep existing styles below */.steps-list {    padding-left: 1.5rem;    margin-top: 0.5rem;}.steps-list li {    margin-bottom: 0.25rem;}.pace {    margin-top: 0.5rem;    font-style: italic;    color: #6c757d;}.glass-card {    background: rgba(255, 255, 255, 0.1);    backdrop-filter: blur(10px);    border: 1px solid rgba(255, 255, 255, 0.2);    border-radius: 15px;    transition: all 0.3s ease;}.glass-card:hover {    transform: translateY(-2px);    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);}.mood-btn {    padding: 1rem;    border-radius: 10px;    transition: all 0.3s ease;}.mood-btn:hover {    transform: translateY(-2px);}.mood-btn i {    font-size: 1.5rem;    margin-bottom: 0.5rem;    display: block;}.mood-btn.active {    background: var(--primary-color);    color: white;    border-color: var(--primary-color);}.prep-activity-card {    background: rgba(255, 255, 255, 0.05);    border: 1px solid rgba(255, 255, 255, 0.1);    border-radius: 10px;    padding: 1rem;    height: 100%;    transition: all 0.3s ease;}.prep-activity-card:hover {    background: rgba(255, 255, 255, 0.1);    transform: translateY(-1px);}.activity-header {    display: flex;    align-items: center;    gap: 0.5rem;    margin-bottom: 0.5rem;}.activity-header i {    color: var(--primary-color);}.stats-grid {    display: grid;    grid-template-columns: 1fr 1fr;    gap: 1rem;}.stat-item {    text-align: center;}.stat-number {    font-size: 2rem;    font-weight: bold;    color: var(--primary-color);}.stat-label {    font-size: 0.9rem;    color: var(--soft-gray);}.stats-mini {    text-align: center;}.ai-recommendation {    background: rgba(255, 235, 59, 0.1);    border: 1px solid rgba(255, 235, 59, 0.2);    border-radius: 8px;    padding: 1rem;}.session-config {    background: rgba(255, 255, 255, 0.05);    border-radius: 10px;    padding: 1.5rem;}@media (max-width: 768px) {    .stats-grid {        grid-template-columns: 1fr;    }        .mood-btn {        padding: 0.75rem;    }        .mood-btn i {        font-size: 1.2rem;    }}/* Activity Modal - ADHD Friendly */#activity-modal .modal-content {    background: linear-gradient(135deg, rgba(15, 15, 15, 0.95), rgba(30, 30, 30, 0.98));    backdrop-filter: blur(10px);    border: 1px solid rgba(100, 100, 100, 0.3);    border-radius: 12px;    color: #f0f0f0;    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.5);}#activity-modal .modal-header {    border-bottom: 1px solid rgba(80, 80, 80, 0.4);    padding: 18px 24px;}#activity-modal .btn-close {    filter: invert(0.8);    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ff4d4d'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e");    opacity: 0.9;    transition: opacity 0.2s ease;    width: 24px;    height: 24px;}#activity-modal .btn-close:hover {    opacity: 1;}#activity-modal .modal-title {    font-weight: 600;    font-size: 1.6rem;    color: #ffffff;    letter-spacing: -0.5px;}#activity-modal .modal-body {    padding: 24px;}#activity-modal .activity-meta {    background: rgba(40, 40, 40, 0.6);    padding: 18px;    border-radius: 10px;    margin-bottom: 25px;    border: 1px solid rgba(90, 90, 90, 0.3);}#activity-meta .meta-item {    display: flex;    align-items: center;    margin-bottom: 12px;    font-size: 1.1rem;}#activity-meta .meta-item:last-child {    margin-bottom: 0;}#activity-meta .meta-icon {    margin-right: 12px;    width: 28px;    text-align: center;    color: #64b5f6;}#activity-modal .video-container {    border-radius: 10px;    overflow: hidden;    margin-bottom: 25px;    background: rgba(20, 20, 20, 0.7);}#activity-modal video {    width: 100%;    border-radius: 10px;}#activity-modal iframe {    width: 100%;    height: 100%;    border: none;    border-radius: 10px;}#activity-instructions {    background: rgba(40, 40, 40, 0.6);    padding: 20px;    border-radius: 10px;    border: 1px solid rgba(90, 90, 90, 0.3);    margin-top: 20px;    font-size: 1.05rem;    line-height: 1.7;}#activity-instructions h4 {    color: #64b5f6;    margin-bottom: 15px;    font-size: 1.3rem;    font-weight: 600;}#activity-instructions ol {    padding-left: 25px;    color: #e0e0e0;}#activity-instructions ol li {    margin-bottom: 12px;    padding-left: 8px;}#activity-instructions .pace {    margin-top: 20px;    padding-top: 15px;    border-top: 1px dashed rgba(100, 100, 100, 0.5);    font-style: italic;    color: #a5d6a7;}#start-activity-btn {    background: linear-gradient(135deg, #2196F3, #1976D2);    border: none;    border-radius: 8px;    padding: 14px 28px;    font-weight: 600;    font-size: 1.15rem;    transition: all 0.3s ease;    box-shadow: 0 4px 10px rgba(33, 150, 243, 0.3);    width: 100%;    margin-top: 20px;    letter-spacing: 0.5px;}#start-activity-btn:hover {    transform: translateY(-2px);    box-shadow: 0 6px 15px rgba(33, 150, 243, 0.4);    background: linear-gradient(135deg, #42A5F5, #1E88E5);}/* Focus-friendly text styling */#activity-description {    font-size: 1.15rem;    line-height: 1.7;    margin-bottom: 25px;    color: #e0e0e0;}@media (max-width: 768px) {    .metric-card {        margin-bottom: 1rem;    }        .insight-box {        margin-bottom: 1rem;    }        .task-category-row {        margin-bottom: 1rem;    }        .prep-activity-card {        margin-bottom: 1rem;    }}@media (max-width: 576px) {    .container-fluid {        padding-left: 2rem;        padding-right: 2rem;    }        .glass-card {        padding: 1rem !important;    }        .display-6 {        font-size: 1.5rem;    }        .h4 {        font-size: 1.2rem;    }}/* fix modal z-index issues */.modal {    z-index: 9999 !important;}.task-item {    position: relative;    z-index: 1;}.task-context-menu {    z-index: 1000;    position: absolute;}/* Consistent spacing and sizing */#activity-modal .modal-content > * {    transition: none !important;    animation: none !important;}/* Sticky sidebar for desktop only */@media (min-width: 992px) {    .sidebar-sticky {        position: sticky;        top: 90px;        align-self: flex-start;        max-height: calc(100vh - 100px); /* Fit within viewport */        overflow-y: auto;        overflow-x: hidden;    }}/* Reset styles for mobile */@media (max-width: 991px) {    .sidebar-sticky {        position: static;        max-height: none;        overflow: visible;    }    .container-fluid .row {        margin-right: 0;    }}/* Smooth scrollbar for sidebar */.sidebar-sticky::-webkit-scrollbar {    width: 6px;}.sidebar-sticky::-webkit-scrollbar-track {    background: rgba(93, 109, 255, 0.1);    border-radius: 10px;}.sidebar-sticky::-webkit-scrollbar-thumb {    background: rgba(93, 109, 255, 0.3);    border-radius: 10px;}.sidebar-sticky::-webkit-scrollbar-thumb:hover {    background: rgba(93, 109, 255, 0.5);}/* Hover effects for links and buttons */.sidebar-sticky a:hover {    transform: translateY(-2px);    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15) !important;}.sidebar-sticky button:hover {    transform: translateY(-1px);    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;}/* Consistent vertical spacing between cards */@media (min-width: 992px) {    .sidebar-sticky .prep-activity-card,    .sidebar-sticky .session-config,    .sidebar-sticky .ai-recommendation {        margin-bottom: 1rem;    }}.btn-success:hover, .btn-warning:hover {    transform: translateY(-2px);    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);} .glass-card {            background: rgba(255, 255, 255, 0.95);            backdrop-filter: blur(20px);            border-radius: 20px;            border: 1px solid rgba(255, 255, 255, 0.2);            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);            transition: transform 0.3s ease, box-shadow 0.3s ease;        }        .glass-card:hover {            transform: translateY(-2px);            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);        }        .section-title {            color: #2d3748;            font-weight: 600;            font-size: 1.25rem;            margin-bottom: 1.5rem;        }        /* Custom Range Slider Styles */        .form-range {            appearance: none;            width: 100%;            height: 8px;            background: linear-gradient(90deg, #e2e8f0 0%, #cbd5e0 100%);            border-radius: 50px;            outline: none;            transition: all 0.3s ease;        }        .form-range::-webkit-slider-thumb {            appearance: none;            width: 24px;            height: 24px;            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);            border-radius: 50%;            cursor: pointer;            box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);            transition: all 0.3s ease;        }        .form-range::-webkit-slider-thumb:hover {            transform: scale(1.1);            box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6);        }        .form-range::-moz-range-thumb {            width: 24px;            height: 24px;            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);            border-radius: 50%;            cursor: pointer;            border: none;            box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);            transition: all 0.3s ease;        }        .energy-range {            background: linear-gradient(90deg, #fed7d7 0%, #68d391 100%);        }        .stress-range {            background: linear-gradient(90deg, #68d391 0%, #fed7d7 100%);        }        .sleep-range {            background: linear-gradient(90deg, #fed7d7 0%, #9f7aea 100%);        }        .range-container {            padding: 0.5rem 0;        }        .range-labels {            font-size: 0.875rem;            color: #718096;        }        .range-value {            color: #2d3748;            font-size: 1rem;            font-weight: 600;        }        .metric-group {            padding: 1rem;            background: rgba(255, 255, 255, 0.6);            border-radius: 16px;            border: 1px solid rgba(255, 255, 255, 0.3);            transition: all 0.3s ease;        }        .metric-group:hover {            background: rgba(255, 255, 255, 0.8);            transform: translateY(-1px);        }        /* Mood Card Styles */        .mood-selection {            display: grid;            grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));            gap: 1rem;        }        .mood-card {            background: rgba(255, 255, 255, 0.9);            border-radius: 16px;            border: 2px solid #e2e8f0;            cursor: pointer;            transition: all 0.3s ease;            position: relative;            overflow: hidden;            min-height: 140px;            display: flex;            flex-direction: column;            justify-content: center;            align-items: center;        }        .mood-card:hover {            transform: translateY(-4px);            box-shadow: 0 12px 28px rgba(0, 0, 0, 0.15);        }        .mood-card.tired {            border-color: #9f7aea;        }        .mood-card.tired:hover {            border-color: #805ad5;            background: rgba(159, 122, 234, 0.1);        }        .mood-card.okay {            border-color: #4fd1c7;        }        .mood-card.okay:hover {            border-color: #38b2ac;            background: rgba(79, 209, 199, 0.1);        }        .mood-card.anxious {            border-color: #f6ad55;        }        .mood-card.anxious:hover {            border-color: #ed8936;            background: rgba(246, 173, 85, 0.1);        }        .mood-card.motivated {            border-color: #68d391;        }        .mood-card.motivated:hover {            border-color: #48bb78;            background: rgba(104, 211, 145, 0.1);        }        /* Selected state */        .btn-check:checked + .mood-card.tired {            background: linear-gradient(135deg, #9f7aea 0%, #805ad5 100%);            color: white;            border-color: #9f7aea;            transform: translateY(-2px);        }        .btn-check:checked + .mood-card.okay {            background: linear-gradient(135deg, #4fd1c7 0%, #38b2ac 100%);            color: white;            border-color: #4fd1c7;            transform: translateY(-2px);        }        .btn-check:checked + .mood-card.anxious {            background: linear-gradient(135deg, #f6ad55 0%, #ed8936 100%);            color: white;            border-color: #f6ad55;            transform: translateY(-2px);        }        .btn-check:checked + .mood-card.motivated {            background: linear-gradient(135deg, #68d391 0%, #48bb78 100%);            color: white;            border-color: #68d391;            transform: translateY(-2px);        }        .btn-check:checked + .mood-card .mood-description {            color: rgba(255, 255, 255, 0.9);        }        .mood-icon {            font-size: 2.5rem;            margin-bottom: 0.5rem;        }        .mood-title {            font-size: 1.1rem;            font-weight: 600;            margin-bottom: 0.25rem;        }        .mood-description {            font-size: 0.875rem;            text-align: center;            color: #718096;            font-style: italic;        }        .btn-check {            position: absolute;            clip: rect(0, 0, 0, 0);            pointer-events: none;        }        /* Responsive adjustments */        @media (max-width: 768px) {            .mood-selection {                grid-template-columns: repeat(2, 1fr);            }                        .mood-card {                min-height: 120px;            }                        .mood-icon {                font-size: 2rem;            }                        .mood-title {                font-size: 1rem;            }        }        @media (max-width: 576px) {            .mood-selection {                grid-template-columns: 1fr;            }                        .container {                padding: 0 1rem;            }                        .glass-card {                margin-bottom: 1rem;            }        }/* Form Controls */.form-control {    border: 2px solid var(--soft-lavender);    border-radius: var(--border-radius);    padding: 1rem;    font-size: 1rem;    transition: var(--transition);    background: var(--primary-warm);}.form-control:focus {    border-color: var(--primary-purple);    box-shadow: 0 0 0 0.2rem rgba(93, 109, 255, 0.25);    background: white;}.form-label {    font-weight: 600;    color: var(--text-dark);    margin-bottom: 0.75rem;    font-size: 1.05rem;}/* Submit Section */.submit-section {    padding: 2rem;    background: var(--gradient-soft);    border-radius: var(--border-radius);    border: 1px solid rgba(255, 255, 255, 0.3);}.submit-section .btn {    background: var(--gradient-primary);    border: none;    color: white;    font-weight: 600;    font-size: 1.1rem;    padding: 1rem 2.5rem;    border-radius: var(--border-radius);    transition: var(--transition);    box-shadow: var(--shadow-medium);}.submit-section .btn:hover {    transform: translateY(-2px);    box-shadow: var(--shadow-strong);    background: var(--gradient-primary);}.note-text {  overflow: hidden;  text-overflow: ellipsis;  white-space: nowrap;}.hover-glow:hover {    text-shadow: 0 0 15px rgba(255,255,255,0.6);    transform: scale(1.05);    transition: all 0.2s ease-in-out;}.task-item:hover {    transform: scale(1.015);    box-shadow: 0 6px 20px rgba(0,0,0,0.1);}.pop-up-header {    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);    padding: 32px 32px 24px;    text-align: center;    position: relative;    overflow: hidden;    border-top-left-radius: 24px;    border-top-right-radius: 24px;}.pop-up-header-bg {    position: absolute;    top: 0;    left: 0;    right: 0;    bottom: 0;    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='grid' width='10' height='10' patternUnits='userSpaceOnUse'%3E%3Cpath d='M 10 0 L 0 0 0 10' fill='none' stroke='rgba(255,255,255,0.1)' stroke-width='0.5'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100' height='100' fill='url(%23grid)'/%3E%3C/svg%3E");    opacity: 0.3;    z-index: 0;}@keyframes pop-up-fade-in {    to { opacity: 1; }}@keyframes pop-up-modal-enter {    to { transform: scale(1) translateY(0); }}@keyframes pop-up-pulse {    0%, 100% { transform: scale(1); }    50% { transform: scale(1.05); }}@keyframes pop-up-slide-in {    from { opacity: 0; transform: translateX(-20px); }    to { opacity: 1; transform: translateX(0); }}.pop-up-close-btn:hover {    background: rgba(255, 255, 255, 0.3) !important;}.pop-up-btn-primary:hover {    transform: translateY(-2px) !important;    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.5) !important;}.pop-up-btn-secondary:hover {    background: rgba(107, 114, 128, 0.2) !important;    transform: translateY(-1px) !important;}.pop-up-info-text a:hover {    color: #764ba2 !important;}/* Custom Scrollbar Styling */.pop-up-content::-webkit-scrollbar {    width: 8px;}.pop-up-content::-webkit-scrollbar-track {    background: rgba(255, 255, 255, 0.1);    border-radius: 10px;    margin: 5px;}.pop-up-content::-webkit-scrollbar-thumb {    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);    border-radius: 10px;    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3);}.pop-up-content::-webkit-scrollbar-thumb:hover {    background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);}.pop-up-content::-webkit-scrollbar-thumb:active {    background: linear-gradient(135deg, #4e5bc6 0%, #5e377e 100%);}/* Firefox Scrollbar */.pop-up-content {    scrollbar-width: thin;    scrollbar-color: #667eea rgba(255, 255, 255, 0.1);}/* Responsive Design */@media (max-width: 768px) {    .pop-up-overlay {        padding: 15px !important;    }        .pop-up-container {        max-width: none !important;        width: 100% !important;        max-height: calc(100vh - 30px) !important;    }        .pop-up-content {        max-height: calc(100vh - 30px) !important;    }        .pop-up-header {        padding: 24px 24px 20px !important;    }        .pop-up-ai-icon {        width: 60px !important;        height: 60px !important;    }        .pop-up-ai-icon svg {        width: 30px !important;        height: 30px !important;    }        .pop-up-title {        font-size: 20px !important;    }        .pop-up-subtitle {        font-size: 14px !important;    }        .pop-up-body {        padding: 24px !important;    }        .pop-up-footer {        padding: 0 24px 24px !important;        gap: 8px !important;    }        .pop-up-btn {        padding: 14px 20px !important;        font-size: 15px !important;    }}@media (max-width: 480px) {    .pop-up-overlay {        padding: 10px !important;    }        .pop-up-container {        max-height: calc(100vh - 20px) !important;    }        .pop-up-content {        max-height: calc(100vh - 20px) !important;    }        .pop-up-feature-item {        align-items: flex-start !important;    }        .pop-up-feature-text {        font-size: 15px !important;    }        .pop-up-info-text {        font-size: 13px !important;    }}/* Cookie Banner Styles *//* Cookie Banner Styles */        #cookieBanner {            position: fixed;            bottom: 0;            left: 0;            right: 0;            background: black;            color: white;            padding: 25px 20px;            z-index: 9999;            box-shadow: 0 -15px 40px rgba(0, 0, 0, 0.3);            backdrop-filter: blur(20px);            border-top: 1px solid rgba(255, 255, 255, 0.1);            transform: translateY(100%);            transition: all 0.6s cubic-bezier(0.4, 0.0, 0.2, 1);            opacity: 0;        }        #cookieBanner.show {            transform: translateY(0);            opacity: 1;        }        .cookie-container {            max-width: 1200px;            margin: 0 auto;        }        .cookie-main {            display: flex;            align-items: flex-start;            gap: 30px;            flex-wrap: wrap;        }        .cookie-content {            flex: 1;            min-width: 350px;        }        .cookie-title {            display: flex;            align-items: center;            margin-bottom: 12px;            gap: 12px;        }        .cookie-icon {            width: 40px;            height: 40px;            background: rgba(255, 255, 255, 0.15);            border-radius: 12px;            display: flex;            align-items: center;            justify-content: center;            backdrop-filter: blur(10px);            border: 1px solid rgba(255, 255, 255, 0.1);        }        .cookie-icon i {            font-size: 18px;            color: #38EF7D;        }        .cookie-title h3 {            margin: 0;            font-size: 20px;            font-weight: 700;            background: linear-gradient(45deg, white, #38EF7D);            -webkit-background-clip: text;            -webkit-text-fill-color: transparent;            background-clip: text;        }        .cookie-description {            font-size: 14px;            line-height: 1.6;            opacity: 0.9;            margin-bottom: 15px;        }        .cookie-links {            display: flex;            gap: 20px;            flex-wrap: wrap;        }        .cookie-links a {            color: #87ceeb;            text-decoration: none;            font-size: 13px;            font-weight: 500;            display: flex;            align-items: center;            gap: 6px;            padding: 4px 8px;            border-radius: 6px;            transition: all 0.3s ease;            border: 1px solid transparent;        }        .cookie-links a:hover {            color: white;            background: rgba(255, 255, 255, 0.1);            border-color: rgba(255, 255, 255, 0.2);            transform: translateY(-1px);        }        .cookie-actions {            display: flex;            gap: 12px;            flex-wrap: wrap;            align-items: center;            min-width: 300px;            justify-content: flex-end;        }        .cookie-btn {            padding: 12px 20px;            border-radius: 12px;            border: none;            font-size: 14px;            font-weight: 600;            cursor: pointer;            transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);            display: flex;            align-items: center;            gap: 8px;            text-decoration: none;            min-width: 120px;            justify-content: center;        }        .cookie-btn:hover {            transform: translateY(-2px);            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);        }        .cookie-btn-primary {            background: linear-gradient(45deg, #28a745, #20c997);            color: white;            box-shadow: 0 8px 20px rgba(40, 167, 69, 0.3);        }        .cookie-btn-primary:hover {            background: linear-gradient(45deg, #218838, #1ea080);            color: white;        }        .cookie-btn-secondary {            background: rgba(108, 117, 125, 0.9);            color: white;            box-shadow: 0 8px 20px rgba(108, 117, 125, 0.3);        }        .cookie-btn-secondary:hover {            background: rgba(90, 98, 104, 0.9);            color: white;        }        .cookie-btn-outline {            background: transparent;            color: white;            border: 2px solid rgba(255, 255, 255, 0.3);            backdrop-filter: blur(10px);        }        .cookie-btn-outline:hover {            background: rgba(255, 255, 255, 0.15);            border-color: rgba(255, 255, 255, 0.5);            color: white;        }        /* Preferences Panel */        #cookiePreferences {            display: none;            margin-top: 30px;            padding-top: 25px;            border-top: 1px solid rgba(255, 255, 255, 0.2);            animation: slideDown 0.4s ease-out;        }        @keyframes slideDown {            from {                opacity: 0;                transform: translateY(-20px);            }            to {                opacity: 1;                transform: translateY(0);            }        }        .preferences-title {            display: flex;            align-items: center;            gap: 12px;            margin-bottom: 20px;        }        .preferences-title h4 {            margin: 0;            font-size: 18px;            font-weight: 700;            background: linear-gradient(45deg, white, #38EF7D);            -webkit-background-clip: text;            -webkit-text-fill-color: transparent;            background-clip: text;        }        .cookie-categories {            display: grid;            gap: 16px;            margin-bottom: 25px;        }        .cookie-category {            display: flex;            justify-content: space-between;            align-items: center;            padding: 20px;            background: rgba(255, 255, 255, 0.08);            border-radius: 16px;            border: 1px solid rgba(255, 255, 255, 0.1);            backdrop-filter: blur(10px);            transition: all 0.3s ease;        }        .cookie-category:hover {            background: rgba(255, 255, 255, 0.12);            transform: translateY(-2px);        }        .category-info {            flex: 1;            display: flex;            align-items: flex-start;            gap: 15px;        }        .category-icon {            width: 45px;            height: 45px;            border-radius: 12px;            display: flex;            align-items: center;            justify-content: center;            flex-shrink: 0;        }        .category-essential .category-icon {            background: linear-gradient(45deg, #28a745, #20c997);        }        .category-analytics .category-icon {            background: linear-gradient(45deg, #17a2b8, #6f42c1);        }        .category-marketing .category-icon {            background: linear-gradient(45deg, #ffc107, #fd7e14);        }        .category-functional .category-icon {            background: linear-gradient(45deg, #6f42c1, #e83e8c);        }        .category-icon i {            font-size: 18px;            color: white;        }        .category-text {            flex: 1;        }        .category-text strong {            font-size: 15px;            font-weight: 600;            display: block;            margin-bottom: 5px;        }        .category-text p {            margin: 0;            font-size: 13px;            opacity: 0.8;            line-height: 1.4;        }        /* Toggle Switch */        .toggle-switch {            position: relative;            width: 54px;            height: 28px;            cursor: pointer;        }        .toggle-switch input {            opacity: 0;            width: 0;            height: 0;        }        .toggle-slider {            position: absolute;            cursor: pointer;            top: 0;            left: 0;            right: 0;            bottom: 0;            background: rgba(255, 255, 255, 0.3);            border-radius: 28px;            transition: all 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);            border: 2px solid rgba(255, 255, 255, 0.2);        }        .toggle-knob {            position: absolute;            content: '';            height: 20px;            width: 20px;            left: 2px;            bottom: 2px;            background: white;            border-radius: 50%;            transition: all 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);        }        .toggle-switch input:checked + .toggle-slider {            background: linear-gradient(45deg, #28a745, #20c997);            border-color: #28a745;        }        .toggle-switch input:checked + .toggle-slider + .toggle-knob {            transform: translateX(26px);        }        .toggle-essential {            background: linear-gradient(45deg, #28a745, #20c997) !important;            border-color: #28a745 !important;        }        .toggle-essential .toggle-knob {            transform: translateX(26px);        }        .preferences-actions {            display: flex;            gap: 15px;            justify-content: flex-end;            flex-wrap: wrap;            align-items: center;        }        /* Responsive Design */        @media (max-width: 768px) {            .cookie-main {                flex-direction: column;                gap: 20px;            }            .cookie-content {                min-width: unset;            }            .cookie-actions {                min-width: unset;                justify-content: center;                width: 100%;            }            .cookie-btn {                flex: 1;                min-width: unset;            }            .cookie-links {                justify-content: center;            }            .preferences-actions {                justify-content: center;            }        }        @media (max-width: 480px) {            #cookieBanner {                padding: 20px 15px;            }            .cookie-actions {                flex-direction: column;                gap: 10px;            }            .cookie-btn {                width: 100%;                justify-content: center;            }            .category-info {                flex-direction: column;                text-align: center;                gap: 10px;            }            .toggle-switch {                margin-top: 10px;            }            .preferences-actions {                flex-direction: column;                gap: 10px;            }            .preferences-actions .cookie-btn {                width: 100%;            }        }        /* PWA Install Banner */        #pwaInstallBanner {            position: fixed;            bottom: 0;            left: 0;            right: 0;            background: var(--primary-purple);            color: white;            padding: 25px 20px;            z-index: 9998;            box-shadow: 0 -15px 40px rgba(0, 0, 0, 0.3);            backdrop-filter: blur(20px);            border-top: 1px solid rgba(255, 255, 255, 0.1);            transform: translateY(100%);            transition: all 0.6s cubic-bezier(0.4, 0.0, 0.2, 1);            opacity: 0;        }        #pwaInstallBanner.show {            transform: translateY(0);            opacity: 1;        }        .pwa-container {            max-width: 1200px;            margin: 0 auto;        }        .pwa-main {            display: flex;            align-items: center;            gap: 30px;            flex-wrap: wrap;        }        .pwa-content {            flex: 1;            min-width: 350px;        }        .pwa-title {            display: flex;            align-items: center;            margin-bottom: 12px;            gap: 12px;        }        .pwa-icon {            width: 50px;            height: 50px;            background: rgba(255, 255, 255, 0.15);            border-radius: 15px;            display: flex;            align-items: center;            justify-content: center;            backdrop-filter: blur(10px);            border: 1px solid rgba(255, 255, 255, 0.1);            animation: pulse 2s ease-in-out infinite;        }        @keyframes pulse {            0%, 100% { transform: scale(1); }            50% { transform: scale(1.1); }        }        .pwa-icon i {            font-size: 22px;            color: #38EF7D;        }        .pwa-title h3 {            margin: 0;            font-size: 22px;            font-weight: 700;            background: linear-gradient(45deg, white, #38EF7D);            -webkit-background-clip: text;            -webkit-text-fill-color: transparent;            background-clip: text;        }        .pwa-description {            font-size: 14px;            line-height: 1.6;            opacity: 0.9;            margin-bottom: 15px;        }        .pwa-features {            display: flex;            gap: 20px;            flex-wrap: wrap;            margin-bottom: 10px;        }        .pwa-feature {            color: #87ceeb;            font-size: 12px;            font-weight: 500;            display: flex;            align-items: center;            gap: 6px;            padding: 4px 8px;            border-radius: 6px;            background: rgba(255, 255, 255, 0.05);            border: 1px solid rgba(255, 255, 255, 0.1);        }        .pwa-feature i {            font-size: 10px;        }        .pwa-actions {            display: flex;            gap: 12px;            flex-wrap: wrap;            align-items: center;            min-width: 300px;            justify-content: flex-end;        }        .pwa-btn {            padding: 12px 20px;            border-radius: 12px;            border: none;            font-size: 14px;            font-weight: 600;            cursor: pointer;            transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);            display: flex;            align-items: center;            gap: 8px;            text-decoration: none;            min-width: 120px;            justify-content: center;        }        .pwa-btn:hover {            transform: translateY(-2px);            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);        }        .pwa-btn-primary {            background: var(--gradient-primary);            color: white;            box-shadow: 0 8px 20px rgba(40, 167, 69, 0.3);        }        .pwa-btn-primary:hover {            background: linear-gradient(45deg, #218838, #1ea080);            color: white;        }        .pwa-btn-outline {            background: transparent;            color: white;            border: 2px solid rgba(255, 255, 255, 0.3);            backdrop-filter: blur(10px);        }        .pwa-btn-outline:hover {            background: rgba(255, 255, 255, 0.15);            border-color: rgba(255, 255, 255, 0.5);            color: white;        }        /* Installation Instructions Modal */        #pwaInstructions {            display: none;            margin-top: 25px;            padding-top: 20px;            border-top: 1px solid rgba(255, 255, 255, 0.2);            animation: slideDown 0.4s ease-out;        }        @keyframes slideDown {            from {                opacity: 0;                transform: translateY(-20px);            }            to {                opacity: 1;                transform: translateY(0);            }        }        .instructions-title {            display: flex;            align-items: center;            gap: 12px;            margin-bottom: 20px;        }        .instructions-title h4 {            margin: 0;            font-size: 18px;            font-weight: 700;            background: linear-gradient(45deg, white, #38EF7D);            -webkit-background-clip: text;            -webkit-text-fill-color: transparent;            background-clip: text;        }        .instruction-content {            background: rgba(255, 255, 255, 0.08);            border-radius: 16px;            padding: 25px;            border: 1px solid rgba(255, 255, 255, 0.1);            backdrop-filter: blur(10px);            margin-bottom: 20px;        }        .instruction-steps {            font-size: 14px;            line-height: 1.6;            color: white;        }        .instruction-steps ol {            padding-left: 20px;            counter-reset: step-counter;        }        .instruction-steps li {            margin-bottom: 12px;            counter-increment: step-counter;            position: relative;            padding-left: 10px;        }        .instruction-steps strong {            background: linear-gradient(45deg, #38EF7D, white);            -webkit-background-clip: text;            -webkit-text-fill-color: transparent;            background-clip: text;        }        .status-message {            display: none;            padding: 15px 20px;            border-radius: 12px;            margin-top: 16px;            font-size: 14px;            backdrop-filter: blur(10px);            animation: slideDown 0.3s ease-out;        }        .status-success {            background: rgba(40, 167, 69, 0.2);            color: #38EF7D;            border: 1px solid rgba(56, 239, 125, 0.3);        }        .status-error {            background: rgba(220, 53, 69, 0.2);            color: #ff6b6b;            border: 1px solid rgba(255, 107, 107, 0.3);        }        .status-info {            background: rgba(23, 162, 184, 0.2);            color: #87ceeb;            border: 1px solid rgba(135, 206, 235, 0.3);        }        /* Responsive Design */        @media (max-width: 768px) {            .pwa-main {                flex-direction: column;                gap: 20px;                text-align: center;            }            .pwa-content {                min-width: unset;            }            .pwa-actions {                min-width: unset;                justify-content: center;                width: 100%;            }            .pwa-btn {                flex: 1;                min-width: unset;            }            .pwa-features {                justify-content: center;            }        }        @media (max-width: 480px) {            #pwaInstallBanner {                padding: 20px 15px;            }            .pwa-actions {                flex-direction: column;                gap: 10px;            }            .pwa-btn {                width: 100%;                justify-content: center;            }            .pwa-features {                flex-direction: column;                align-items: center;                gap: 8px;            }            .instruction-content {                padding: 20px;            }        }                