﻿:root {
    --primary-color: #6366f1;
    --secondary-color: #10b981;
    --accent-color: #f59e0b;
    --warning-color: #f59e0b;
    --danger-color: #ef4444;
    --text-dark: #1f2937;
    --text-medium: #6b7280;
    --text-light: #9ca3af;
    --bg-light: #f8fafc;
    --bg-card: #ffffff;
    --border-light: #e5e7eb;
    --shadow-soft: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-medium: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-large: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}



/* --- Navbar appearance --- */
.new-header {
    display: block;
    height: 4.5rem;
}
.mm-navbar {
    background-color: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(8px);
    border-bottom: 1px solid #e2e8f0; /* slate-200 */
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    z-index: 1030;
}

/* --- Gradient accent bar next to brand --- */
.brand-accent {
    display: inline-block;
    width: 6px;
    height: 32px;
    border-radius: 10px;
    background: linear-gradient(to bottom, #14b8a6, #06b6d4);
}

/* --- Text palette --- */
.text-slate-800 {
    color: #1e293b !important;
}

/* --- NAV LINK COLOR FIX --- */
/* Navbar base */
.mm-navbar {
    background-color: rgba(255,255,255,0.9) !important;
    backdrop-filter: blur(8px);
    border-bottom: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

/* Brand accent */
.brand-accent {
    width: 6px;
    height: 32px;
    border-radius: 10px;
    background: linear-gradient(to bottom, #14b8a6, #06b6d4);
}

.mm-navbar {
    background-color: rgba(255,255,255,0.9) !important;
    backdrop-filter: blur(8px);
    border-bottom: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    z-index: 1030;
}

/* --- Toggler icon --- */
.navbar-light .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(51,65,85,0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* --- Nav link colors --- */
.navbar-light .navbar-nav .nav-link {
    color: #334155 !important;
    font-weight: 500;
    transition: color 0.2s ease;
}

    .navbar-light .navbar-nav .nav-link:hover,
    .navbar-light .navbar-nav .nav-link:focus {
        color: #14b8a6 !important;
    }

/* --- Mobile collapse styling --- */
@media (max-width: 767.98px) {
    .navbar-collapse {
        background: #ffffff;
        border-radius: 0 0 0.75rem 0.75rem;
        box-shadow: 0 6px 12px rgba(0,0,0,0.08);
        padding: 0.75rem 1rem;
    }

    .navbar-nav .nav-link {
        display: block;
        padding: 0.5rem 0;
        color: #334155 !important;
    }

        .navbar-nav .nav-link:hover {
            color: #14b8a6 !important;
        }

    /* Keep teal buttons full-width on mobile for clarity */
    .navbar-nav .btn {
        width: 100%;
        margin-top: 0.5rem;
    }
}
/* Nav links */
/*.navbar-light .navbar-nav .nav-link {
    color: #334155 !important;*/ /* slate-700 */
    /*font-weight: 500;
    font-size: 1rem;
    transition: color .2s ease;
}

    .navbar-light .navbar-nav .nav-link:hover {
        color: #14b8a6 !important;
    }*/

/* Toggler icon (dark gray) */
/*.navbar-light .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(51,65,85,0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}*/

/* Mobile dropdown background & link color */
/*@media (max-width: 767.98px) {
    .navbar-collapse {
        background: rgba(255,255,255,0.96);
        border-radius: 0 0 .75rem .75rem;
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        padding: .5rem 1rem;
    }

    .navbar-nav .nav-link {
        color: #334155 !important;
        padding: .5rem 0;
        display: block;
    }

        .navbar-nav .nav-link:hover {
            color: #14b8a6 !important;
        }
}*/

/* === COLLAPSED MENU BACKGROUND + LINK COLORS === */
@media (max-width: 767.98px) {
    /* give dropdown a visible background */
    .navbar-collapse {
        background: rgba(255,255,255,0.95);
        border-radius: 0 0 0.75rem 0.75rem;
        box-shadow: 0 4px 12px rgba(0,0,0,0.08);
        padding: 0.75rem 1rem;
    }

    /* ensure links visible */
    .navbar-light .navbar-nav .nav-link {
        color: #334155 !important; /* dark slate */
        display: block;
        padding: 0.5rem 0;
    }

        .navbar-light .navbar-nav .nav-link:hover,
        .navbar-light .navbar-nav .nav-link:focus {
            color: #14b8a6 !important; /* teal hover */
        }
}
/* --- Teal buttons --- */
.btn-teal {
    background-color: #14b8a6;
    color: #fff !important;
    border: none;
    padding: 0.45rem 1.2rem;
    font-weight: 600;
    border-radius: 0.5rem;
    transition: all 0.2s ease;
}

    .btn-teal:hover {
        background-color: #0d9488;
        color: #fff !important;
    }

/* --- Mobile adjustments --- */
@media (max-width: 767.98px) {
    .navbar-nav {
        text-align: center;
    }

        .navbar-nav .btn {
            margin-top: 0.5rem;
        }
}


/* === General Reset and Base Styles === */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: var(--bg-light);
    font-family: 'Inter', sans-serif;
    line-height: 1.6;
    color: var(--text-dark);
    min-height: 100vh;
}

.center-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    
}

.maxw-500 {
   max-width:500px;
}

.maxh-100 {
    min-height: 100vh;
}

.card.mm {
    background: var(--bg-card);
    border-radius: 20px;
    padding: 2.5rem;
    box-shadow: var(--shadow-medium);
    border: 1px solid var(--border-light);
    position: relative;
    overflow: hidden;
    margin-bottom: 2rem;
}


.card.mm::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--secondary-color), var(--primary-color));
}

.card.mm.warning::before {
    background: linear-gradient(90deg, var(--warning-color), #d97706);
}

.card.mm.error::before {
    background: linear-gradient(90deg, var(--danger-color), #dc2626);
}

.card-header.mm {
    background-color: transparent;
    text-align: center;
    margin-bottom: 2rem;
}


    .card-header.mm.journal {
        display: flex;
        align-items: center;
        margin-bottom: 2rem;
        padding-bottom: 1rem;
        border-bottom: 2px solid var(--bg-light);
    }

.card-header.mm h2 {
    font-size: 2rem;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 0.5rem;
}

.card-header.mm p {
    color: var(--text-medium);
    font-size: 1rem;
}



.card-title.mm {
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--text-dark);
    margin: 0;
}

.card-title.mm.journal {
    font-size: 1.5rem;
}


.mm-link {
    text-align: center;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid var(--border-light);
}


.mm-link a {
    color: var(--secondary-color);
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.mm-link a:hover {
    color: #059669;
    text-decoration: underline;
}

.icon-mm {
    color: #059669;
}


/* === Header Styles === */


.mm-header {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    padding: 0.5rem 0;
    margin-bottom: 1rem;
    border-radius: 0 0 30px 30px;
    box-shadow: var(--shadow-medium);
}


.mm-logo {
    display: flex;
    flex-direction: row;
    align-items: center;
    color: white;
    text-decoration: none;
    font-size: 2rem;
    font-weight: 700;
    position: relative;
    transition: all 0.3s ease;
}

.mm-logo::before {
    content: '';
    display: block;
    width: 60px;
    height: 60px;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='20' y='65' width='60' height='15' rx='3' fill='rgba(255,255,255,0.15)' stroke='rgba(255,255,255,0.4)' stroke-width='2'/%3E%3Cline x1='20' y1='68' x2='40' y2='68' stroke='rgba(255,255,255,0.3)' stroke-width='1'/%3E%3Cline x1='20' y1='71' x2='38' y2='71' stroke='rgba(255,255,255,0.3)' stroke-width='1'/%3E%3Cline x1='20' y1='74' x2='42' y2='74' stroke='rgba(255,255,255,0.3)' stroke-width='1'/%3E%3Cline x1='60' y1='68' x2='78' y2='68' stroke='rgba(255,255,255,0.3)' stroke-width='1'/%3E%3Cline x1='60' y1='71' x2='76' y2='71' stroke='rgba(255,255,255,0.3)' stroke-width='1'/%3E%3Cline x1='60' y1='74' x2='79' y2='74' stroke='rgba(255,255,255,0.3)' stroke-width='1'/%3E%3Cline x1='50' y1='65' x2='50' y2='80' stroke='rgba(255,255,255,0.3)' stroke-width='2'/%3E%3Cpath d='M50 65 L50 25' stroke='%2322c55e' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M50 50 L32 44 Q25 46 29 52 Q35 56 50 50' fill='%2334d399'/%3E%3Cpath d='M50 50 L68 44 Q75 46 71 52 Q65 56 50 50' fill='%2310b981'/%3E%3Cpath d='M50 42 L36 38 Q30 40 34 45 Q40 47 50 42' fill='%234ade80'/%3E%3Cpath d='M50 42 L64 38 Q70 40 66 45 Q60 47 50 42' fill='%2322c55e'/%3E%3Cpath d='M50 35 L40 32 Q36 33 38 36 Q42 37 50 35' fill='%236ee7b7'/%3E%3Cpath d='M50 35 L60 32 Q64 33 62 36 Q58 37 50 35' fill='%2334d399'/%3E%3Ccircle cx='50' cy='25' r='4' fill='%23fbbf24'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    filter: drop-shadow(0 2px 4px rgba(16, 185, 129, 0.3));
    transition: all 0.3s ease;
    margin-right: 0.75rem;
}

.mm-logo:hover {
    color: var(--secondary-color);
    transform: translateY(-2px);
    text-decoration: none;
}

.mm-logo:hover::before {
    transform: scale(1.1);
    filter: drop-shadow(0 4px 8px rgba(16, 185, 129, 0.5));
}

.mm-logo-lg {
    font-size: 3.5rem;
}

.mm-logo-lg::before {
    width: 120px;
    height: 120px;
}

.logo-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.logo-sub-text {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.75rem;
    font-style: italic;
    margin-top: -0.25rem;
    transition: color 0.3s ease;
}

.navbar-brand .logo-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}


.mm-notice {
    background: rgba(245, 158, 11, 0.1);
    border: 1px solid rgba(245, 158, 11, 0.2);
    border-radius: 15px;
    padding: 1.5rem;
    margin: 2rem 0;
}

    .mm-notice.password {
        background: linear-gradient(135deg, rgba(16, 185, 129, 0.05), rgba(99, 102, 241, 0.05));
        border: 1px solid rgba(16, 185, 129, 0.2);
    }

.mm-notice h5 {
    color: var(--warning-color);
    font-weight: 600;
    margin-bottom: 1rem;
}

    .mm-notice.password h5 {
        color: var(--secondary-color);
    }

    .mm-notice ul {
        text-align: left;
        margin: 0;
        padding-left: 1.5rem;
        color: var(--text-medium);
    }

.mm-notice.password ul {
    color: var(--text-medium);
}

    .mm-notice li {
        margin-bottom: 0.5rem;
    }






/* Mind-Mate Message */
.mm-message {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), rgba(99, 102, 241, 0.1));
    border: 1px solid rgba(16, 185, 129, 0.2);
    border-radius: 15px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    text-align: center;
}

.mm-message-plain {
    color: var(--text-medium);
    font-size: 1.1rem;
    margin-bottom: 2rem;
    line-height: 1.6;
}

.mm-message-warning {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--warning-color);
    margin: 1rem 0;
}


.mm-message h3 {
    color: var(--secondary-color);
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.mm-message p {
    color: var(--text-medium);
    margin: 0;
    font-size: 0.9rem;
}

/* Subtle Overlay Page Header */
.page-header {
    position: relative;
    padding: 0 0 1.5rem 0;
    margin-bottom: 1.5rem;
    display: flex; /* Flexbox for horizontal layout */
    justify-content: space-between; /* Title/subtitle left, actions right */
    align-items: center; /* Vertically center content */
    flex-wrap: wrap; /* Allow wrapping if needed */
    animation: fadeIn 0.6s ease-out;
    width: 100%; /* Ensure header takes full width */
}

.page-header-content {
    display: flex;
    flex-direction: column; /* Stack title and subtitle vertically */
    align-items: flex-start;
}

.page-title {
    color: var(--text-dark);
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 0.25rem 0;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    transition: color 0.3s ease;
    text-align: left;
}

.breadcrumb-list {
    display: flex;
    gap: 0.5rem; /* spacing between items */
    list-style: none; /* remove bullets */
    padding: 0;
    margin: 0;
}





    .page-header:hover .page-title  {
        color: var(--secondary-color);
    }

.page-subtitle {
    color: var(--text-medium);
    font-size: 1.1rem;
    margin: 0;
    line-height: 1.4;
    opacity: 0.9;
    text-align: left;
}

.page-header:hover .page-subtitle {
    color: var(--secondary-color);
}

.page-header-actions {
    display: flex;
    gap: 1rem;
    align-items: end; /* Align buttons vertically with title/subtitle */
}

.page-accent-line {
    height: 2px;
    background: linear-gradient(90deg, var(--secondary-color), var(--primary-color));
    margin-top: 0.5rem; /* Space above the line */
    border-radius: 1px;
    width: 100%; /* Span full width of parent */
    position: relative; /* Ensure it’s not constrained by flex */
    left: 0; /* Start at the left edge */
    right: 0; /* Extend to the right edge */
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .page-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .page-header-actions {
        margin-top: 1rem;
    }

    .page-accent-line {
        margin-top: 1rem; /* Adjust spacing for mobile */
    }
}

.mm-logo:hover .logo-sub-text,
.navbar-brand:hover .logo-sub-text {
    color: var(--secondary-color);
}

/* === Navbar Styles === */
.mm-header .navbar {
    background: transparent !important;
    border-bottom: none !important;
    padding: 0;
}

.nav-sub-title {
    color: rgba(255, 255, 255, 0.7);
    font-size: 1rem;
    transition: color 0.3s ease;
}

.nav-link {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 1rem;
    font-weight: 500;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
}

.nav-link:hover,
.nav-link.active {
    color: var(--secondary-color) !important;
    transform: translateY(-1px);
}

.navbar-nav {
    gap: 0.5rem;
}

.navbar-toggler {
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    padding: 0.5rem;
    transition: all 0.3s ease;
}

.navbar-toggler:hover {
    border-color: var(--secondary-color);
    background: rgba(255, 255, 255, 0.1);
}

.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(255, 255, 255, 0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-toggler:hover .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='%2310b981' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-collapse {
    background: transparent;
}

.navbar-collapse.show,
.navbar-collapse.collapsing {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    padding: 1rem;
    margin-top: 0.5rem;
}


/* === Date Section (Journal Page) === */
.date-section {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: flex-end;
}

.current-date-display {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    padding: 0.5rem 1rem;
    text-align: center;
}

.current-date-title {
     font-size: 1.2rem;
    font-weight: 500;
    margin: 0;
    /*text-shadow: 0 2px 4px rgba(0,0,0,0.3);*/
}

    .current-date-title a {
        color: inherit;
        text-decoration: none;
        transition: color 0.3s ease;
    }

        .current-date-title a:hover {
            color: var(--secondary-color);
        }

    .current-date-title i {
        color: var(--secondary-color);
        margin-right: 0.5rem;
        font-size: 1rem;
    }

.date-navigation {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 15px;
    padding: 1rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

input.date-picker {
    cursor: pointer !important;
}




.date-title {
     font-size: 1.8rem;
    font-weight: 600;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

    .date-title a {
        color: inherit;
        text-decoration: none;
        transition: color 0.3s ease;
    }

        .date-title a:hover {
            color: var(--secondary-color);
        }

    .date-title i {
        color: var(--secondary-color);
        margin-right: 0.5rem;
    }

/* === Card Styles (Generic and Specific) === */


.mm-icon {
    width: 100px;
    height: 100px;
     border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 2rem;
    font-size: 3rem;
    color: white;
    box-shadow: 0 8px 20px rgba(245, 158, 11, 0.3);
}

.mm-icon-journal {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, var(--secondary-color), var(--primary-color));
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    font-size: 1.5rem;
    color: white;
    box-shadow: 0 8px 16px rgba(16, 185, 129, 0.3);
}

    .mm-icon.avatar {
        background: linear-gradient(135deg, var(--secondary-color), var(--primary-color));
       
    }

    .mm-icon.warning {
          background: linear-gradient(135deg, var(--warning-color), #d97706);
       
    }
.mm-icon.error {
    background: linear-gradient(135deg, var(--danger-color), #dc2626);
}

.mm-box.warning {
    background: rgba(245, 158, 11, 0.1);
    color: var(--warning-color);
    padding: 0.5rem 1rem;
    border-radius: 50px;
    font-weight: 600;
    font-size: 0.9rem;
    display: inline-block;
    margin-bottom: 1rem;
}








/* === Form Elements === */
.form-group.mm {
    margin-bottom: 1.5rem;
}

.form-group.mm.password {
    position: relative;
}



.form-control.mm,
.mm-form-select {
    border: 2px solid var(--border-light);
    border-radius: 15px;
    padding: 1.5rem 1rem 0.5rem;
    font-size: 1rem;
    transition: all 0.3s ease;
    background: var(--bg-light);
    height: auto;
    min-height: 58px;
}

    .form-control.mm[readonly] {
        background: #f1f5f9;
        color: var(--text-medium);
        cursor: not-allowed;
    }
    .form-control.mm:focus,
    .form-select.mm:focus {
        border-color: var(--secondary-color);
        box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
        background: white;
        outline: none;
    }

    .form-control.readonly {
        background: #f1f5f9;
        color: var(--text-medium);
        cursor: not-allowed;
    }
.form-control-dark {
    background: #2d3748;
    color: white;
    resize: vertical;
    min-height: 200px;
}

    .form-control-dark:focus {
        background: #1a202c;
        color: white;
    }

    .form-control-dark::placeholder {
        color: #a0aec0;
    }

.form-floating {
    margin-bottom: 1.5rem;
    position: relative;
}

    .form-floating > label {
        padding: 1rem;
        color: var(--text-medium);
        font-weight: 500;
        transition: all 0.3s ease;
    }

    .form-floating > .form-control.mm:focus ~ label,
    .form-floating > .form-control.mm:not(:placeholder-shown) ~ label,
    .form-floating > .form-select.mm:focus ~ label,
    .form-floating > .form-select.mm:not([value=""]) ~ label {
        opacity: 0.65;
        transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
        color: var(--secondary-color);
    }

.form-floating-check-input {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
    padding: 1rem;
    background: var(--bg-light);
    border-radius: 12px;
    border: 1px solid var(--border-light);
}

.form-check-input {
    width: 1.2rem;
    height: 1.2rem;
    margin-right: 0.75rem;
    border: 2px solid var(--border-light);
    border-radius: 4px;
    transition: all 0.3s ease;
}
    .form-check-input:checked {
        background-color: var(--secondary-color);
        border-color: var(--secondary-color);
    }

    .form-check-input:focus {
        box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
    }



.date-picker {
    background: var(--bg-light) !important;
    color: var(--text-dark) !important;
    min-height: auto !important;
    border-radius: 10px;
    padding: 0.75rem 1rem;
}

    .date-picker:focus {
        background: white !important;
        color: var(--text-dark) !important;
    }

/* === Validation === */
.text-danger {
    color: #ef4444 !important;
    font-size: 0.875rem;
    margin-top: 0.25rem;
    display: block;
}


.form-check.mm {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
    padding: 1rem;
    background: var(--bg-light);
    border-radius: 12px;
    border: 1px solid var(--border-light);
}

.form-check-input {
    width: 1.2rem;
    height: 1.2rem;
    margin-right: 0.75rem;
    border: 2px solid var(--border-light);
    border-radius: 4px;
    transition: all 0.3s ease;
}

    .form-check-input:checked {
        background-color: var(--secondary-color);
        border-color: var(--secondary-color);
    }

    .form-check-input:focus {
        box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
    }

.form-label {
    font-weight: 500;
    color: var(--text-dark);
    margin: 0;
}
.form-label.password {
    font-weight: 600;
    margin-bottom: 0.5rem;
    display: block;
    text-align:left;
}



.form-control.journal {
    border: 2px solid var(--border-light);
    border-radius: 15px;
    padding: 1rem 1.5rem;
    font-size: 1rem;
    transition: all 0.3s ease;
    background: #2d3748; /* Dark background */
    color: white; /* White text */
    resize: vertical;
    min-height: 200px;
}

    .form-control.journal:focus {
        border-color: var(--secondary-color);
        box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
        background: #1a202c; /* Even darker on focus */
        color: white; /* Keep white text on focus */
        outline: none;
    }

    .form-control.journal::placeholder {
        color: #a0aec0; /* Light gray placeholder text */
    }


.form-control.input-validation-error,
.form-select.input-validation-error {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

.form-control.valid,
.form-select.valid {
    border-color: var(--secondary-color) !important;
}

/* === Button Styles === */
.btn-primary.mm {
    background: linear-gradient(135deg, var(--secondary-color), #059669);
    border: none;
    border-radius: 50px;
    padding: 1rem 2rem;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    box-shadow: 0 8px 24px rgba(16, 185, 129, 0.3);
    color: white;
    position: relative;
    overflow: hidden;
}

    .btn-primary.mm::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
        transition: left 0.6s ease;
    }

    .btn-primary.mm:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 32px rgba(16, 185, 129, 0.4);
        color: white;
    }

        .btn-primary:hover::before {
            left: 100%;
        }

.btn-secondary.mm {
    background: var(--bg-light);
    border: 2px solid var(--border-light);
    color: var(--text-medium);
    border-radius: 50px;
    padding: 0.75rem 2rem;
    font-weight: 600;
    transition: all 0.3s ease;
}

    .btn-secondary.mm:hover {
        background: var(--text-medium);
        color: white;
        transform: translateY(-2px);
    }

.btn-go {
    background: linear-gradient(135deg, var(--primary-color), #4f46e5);
    border: none;
    border-radius: 10px;
    padding: 0.75rem 1.5rem;
    color: white;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
}

    .btn-go:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(99, 102, 241, 0.4);
        color: white;
    }

.edit-button {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    background: linear-gradient(135deg, var(--accent-color), #d97706);
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    color: white;
    font-size: 1.2rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}

    .edit-button:hover {
        transform: scale(1.1);
        box-shadow: 0 8px 20px rgba(245, 158, 11, 0.4);
        color: white;
    }

/* === Journal-Specific Styles === */
.journal-header {
    display: flex;
    align-items: center;
    border-bottom: 2px solid var(--bg-light);
}

.journal-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, var(--secondary-color), var(--primary-color));
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    font-size: 1.5rem;
    color: white;
    box-shadow: 0 8px 16px rgba(16, 185, 129, 0.3);
}

.journal-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--text-dark);
    margin: 0;
}

.journal-content {
    font-size: 1.1rem;
    line-height: 1.8;
    color: white;
    background: #2d3748;
    padding: 2rem;
    border-radius: 15px;
    border-left: 4px solid var(--secondary-color);
    margin: 1.5rem 0;
    min-height: 200px;
    white-space: pre-wrap;
}

.journal-summary {
    background: linear-gradient(135deg, var(--bg-light), #ecfdf5);
    border-radius: 15px;
    padding: 2rem;
    margin-top: 2rem;
    border: 1px solid rgba(16, 185, 129, 0.1);
}

.sentiment-badge {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: 50px;
    font-weight: 600;
    margin: 0.25rem;
    text-transform: capitalize;
    color: white;
}

.sentiment-positive {
    background: linear-gradient(135deg, #22c55e, #16a34a);
}

.sentiment-negative {
    background: linear-gradient(135deg, #ef4444, #dc2626);
}

.sentiment-neutral {
    background: linear-gradient(135deg, #6b7280, #4b5563);
}

.sentiment-happy {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
}

.sentiment-sad {
    background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}

.sentiment-excited {
    background: linear-gradient(135deg, #06b6d4, #0891b2);
}

.sentiment-anxious {
    background: linear-gradient(135deg, #f97316, #ea580c);
}

.sentiment-grateful {
    background: linear-gradient(135deg, #10b981, #059669);
}

.probability-bar {
    background: var(--bg-light);
    border-radius: 10px;
    height: 8px;
    overflow: hidden;
    margin: 0.5rem 0;
}

.probability-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--secondary-color), var(--primary-color));
    border-radius: 10px;
    transition: width 0.8s ease;
}

.stt-toggle {
    background: rgba(16, 185, 129, 0.1);
    border: 2px solid rgba(16, 185, 129, 0.2);
    border-radius: 15px;
    padding: 1rem;
    margin: 1rem 0;
    transition: all 0.3s ease;
}

    .stt-toggle:hover {
        background: rgba(16, 185, 129, 0.15);
        border-color: rgba(16, 185, 129, 0.3);
    }






.back-to-landing {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50px;
    padding: 0.5rem 1rem;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

    .back-to-landing:hover {
        background: rgba(255, 255, 255, 0.2);
        color: white;
        text-decoration: none;
        transform: translateY(-2px);
    }

/* === Recommendations (Journal Page) === */
.recommendations-card.crisis {
    background: #fff4e5; /* Soft amber tone for gentle alert */
    border-radius: 20px;
    padding: 2rem;
    box-shadow: 0 4px 12px rgba(255, 122, 0, 0.2); /* Warm shadow */
    border: 1px solid #fcd9b6;
    margin-top: 2rem;
    position: relative;
    overflow: hidden;
    transition: background 0.3s ease;
}

    .recommendations-card.crisis::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        background: linear-gradient(90deg, #f97316, #dc2626); /* Orange to red gradient */
    }

.recommendations-header.crisis {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
    color: #b91c1c; /* Deep red for emotional weight */
}

.recommendations-icon.crisis {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #dc2626, #f97316); /* Red-orange urgency */
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    color: white;
    font-size: 1.2rem;
    box-shadow: 0 4px 8px rgba(220, 38, 38, 0.3);
}

/*  **************************************** */

/* Crisis Resources Card - Side by Side Layout */
/* Crisis Alert Box - Left Side - Softer Design */
/* Crisis Alert Box - Softer Colors, Subtle 3D */
/* Crisis Alert Box - Left Side - Softer Design */
.crisis-alert-box {
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    border: 1px solid #fca5a5;
    border-left: 4px solid #ef4444;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.08);
}

.crisis-alert-header {
    color: #dc2626;
    font-size: 1rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    margin-bottom: 0.75rem;
}

    .crisis-alert-header i {
        font-size: 1.1rem;
    }

.crisis-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.crisis-badge {
    display: inline-block;
    padding: 0.4rem 0.875rem;
    background: linear-gradient(135deg, #f87171, #ef4444);
    color: white;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: capitalize;
    box-shadow: 0 2px 4px rgba(239, 68, 68, 0.2);
}

.crisis-keywords-label {
    font-weight: 600;
    color: #6b7280;
    font-size: 0.85rem;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
}

    .crisis-keywords-label i {
        font-size: 0.9rem;
    }

.crisis-keywords {
    color: #4b5563;
    font-style: italic;
    font-size: 0.9rem;
    padding: 0.5rem;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 6px;
}

/* Crisis Help Card - Right Side - Softer, More Welcoming */
.crisis-help-card {
    background: #ffffff;
    border: 2px solid #d1fae5;
    border-radius: 16px;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.12);
    height: 100%;
}

.crisis-help-header {
    background: linear-gradient(135deg, #34d399 0%, #10b981 100%);
    color: white;
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.crisis-help-icon {
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.25);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.crisis-help-header h5 {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
}

.crisis-help-header p {
    font-size: 0.9rem;
    opacity: 0.95;
    margin: 0;
}

.crisis-help-body {
    padding: 1.5rem;
    background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 100%);
}

.help-resource-card {
    background: white;
    border-radius: 12px;
    padding: 1.125rem;
    margin-bottom: 1rem;
    display: flex;
    gap: 1rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    border: 1px solid #f3f4f6;
    transition: all 0.2s ease;
}

    .help-resource-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        border-color: #e5e7eb;
    }

    .help-resource-card:last-of-type {
        margin-bottom: 1rem;
    }

.help-resource-icon {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    color: white;
    flex-shrink: 0;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

    .help-resource-icon.suicide {
        background: linear-gradient(135deg, #f87171, #ef4444);
    }

    .help-resource-icon.violence {
        background: linear-gradient(135deg, #fb923c, #f97316);
    }

    .help-resource-icon.abuse {
        background: linear-gradient(135deg, #a78bfa, #8b5cf6);
    }

    .help-resource-icon.substance {
        background: linear-gradient(135deg, #38bdf8, #06b6d4);
    }

.help-resource-content {
    flex: 1;
}

    .help-resource-content h6 {
        margin: 0 0 0.25rem 0;
        font-size: 1rem;
        font-weight: 700;
        color: #111827;
    }

    .help-resource-content p {
        margin: 0 0 0.875rem 0;
        font-size: 0.875rem;
        color: #6b7280;
        line-height: 1.4;
    }

.help-resource-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.help-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.875rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    border: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

    .help-btn i {
        font-size: 0.9rem;
    }

    .help-btn.call {
        background: linear-gradient(135deg, #34d399, #10b981);
        color: white;
    }

        .help-btn.call:hover {
            background: linear-gradient(135deg, #10b981, #059669);
            transform: translateY(-1px);
            box-shadow: 0 3px 8px rgba(16, 185, 129, 0.3);
        }

    .help-btn.text {
        background: linear-gradient(135deg, #60a5fa, #3b82f6);
        color: white;
    }

        .help-btn.text:hover {
            background: linear-gradient(135deg, #3b82f6, #2563eb);
            transform: translateY(-1px);
            box-shadow: 0 3px 8px rgba(59, 130, 246, 0.3);
        }

    .help-btn.chat {
        background: linear-gradient(135deg, #a78bfa, #8b5cf6);
        color: white;
    }

        .help-btn.chat:hover {
            background: linear-gradient(135deg, #8b5cf6, #7c3aed);
            transform: translateY(-1px);
            box-shadow: 0 3px 8px rgba(139, 92, 246, 0.3);
        }

.emergency-notice {
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    border: 1px solid #fbbf24;
    border-left: 4px solid #f59e0b;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    text-align: center;
    font-size: 0.95rem;
    color: #92400e;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    box-shadow: 0 2px 6px rgba(251, 191, 36, 0.15);
}

    .emergency-notice i {
        font-size: 1.1rem;
        color: #f59e0b;
    }

.emergency-link {
    color: #dc2626;
    font-weight: 700;
    font-size: 1.15rem;
    text-decoration: none;
    padding: 0 0.25rem;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}

    .emergency-link:hover {
        border-bottom-color: #dc2626;
    }

/* Responsive */
@media (max-width: 767px) {
    .crisis-help-header {
        padding: 1rem;
    }

        .crisis-help-header h5 {
            font-size: 1.15rem;
        }

    .help-resource-card {
        flex-direction: column;
        text-align: center;
        padding: 1rem;
    }

    .help-resource-icon {
        margin: 0 auto 0.75rem auto;
        width: 48px;
        height: 48px;
        font-size: 1.2rem;
    }

    .help-resource-actions {
        justify-content: center;
    }

    .help-btn {
        flex: 1;
        min-width: 80px;
        justify-content: center;
    }
}
/*  ******************************************* */


.recommendations-card {
    background: var(--bg-card);
    border-radius: 20px;
    padding: 2rem;
    box-shadow: var(--shadow-medium);
    border: 1px solid var(--border-light);
    margin-top: 2rem;
    position: relative;
    overflow: hidden;
}

    .recommendations-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        background: linear-gradient(90deg, var(--accent-color), var(--primary-color));
    }

.recommendations-header {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
}

.recommendations-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, var(--accent-color), #d97706);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    color: white;
    font-size: 1.2rem;
    box-shadow: 0 4px 8px rgba(245, 158, 11, 0.3);
}

.youtube-video-gallery li {
    margin-bottom: 1rem;
}

.youtube-video-gallery a {
    display: flex;
    align-items: center;
    padding: 1rem;
    background: var(--bg-light);
    border-radius: 10px;
    text-decoration: none;
    color: var(--text-dark);
    transition: all 0.3s ease;
    border: 1px solid var(--border-light);
}

    .youtube-video-gallery a:hover {
        background: var(--secondary-color);
        color: white;
        transform: translateY(-2px);
        box-shadow: var(--shadow-medium);
    }

/* === Animations === */
@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(50px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}



/* === Loading States === */
.loading,
.btn-loading {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}

    .loading::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 20px;
        height: 20px;
        margin: -10px 0 0 -10px;
        border: 2px solid var(--secondary-color);
        border-radius: 50%;
        border-top-color: transparent;
        animation: spin 1s linear infinite;
    }

/* === Responsive Design === */
@media (max-width: 780px) {
    .nav-sub-title {
        display: none;
    }
}

@media (max-width: 768px) {

    .calendar-container {
        padding: 1rem;
    }

    .fc-toolbar {
        flex-direction: column;
        gap: 1rem;
    }

    .nav-sub-title {
        display: none;
    }

    .mm-header {
        padding: 1.5rem 0;
        margin-bottom: 1rem;
    }

    .mm-logo {
        font-size: 1.5rem;
    }

        .mm-logo::before {
            width: 50px;
            height: 50px;
        }

    .mm-logo-lg {
        font-size: 2rem;
    }

        .mm-logo-lg::before {
            width: 80px;
            height: 80px;
        }

    .mm-logo .page-subtitle {
        font-size: 0.75rem;
    }

    .navbar-brand {
        font-size: 1.2rem;
    }

        .navbar-brand::before {
            width: 40px;
            height: 40px;
        }

    .nav-link,
    .navbar-nav .login-link,
    .navbar-nav .register-link,
    .navbar-nav .logout-link {
        padding: 0.75rem;
        font-size: 0.9rem;
    }

    .navbar-collapse.show,
    .navbar-collapse.collapsing {
        background: rgba(0, 0, 0, 0.3);
        padding: 1.5rem;
        border-radius: 15px;
    }

    .date-navigation {
        flex-direction: column;
        text-align: center;
    }

    .date-title {
        font-size: 1.4rem;
        margin-bottom: 1rem;
    }

  

    .edit-button,
    .back-to-landing {
        position: relative;
        top: auto;
        right: auto;
        display: block;
        text-align: center;
        margin: 1rem 0;
    }
}


/*.password-toggle {
    position: absolute;
    right: 1rem;
    top: 2.5rem;
    background: none;
    border: none;
    color: var(--text-medium);
    cursor: pointer;
    transition: all 0.3s ease;
}

    .password-toggle:hover {
        color: var(--secondary-color);
    }*/

/* Password Strength */
.password-strength {
    margin-top: 0.5rem;
    font-size: 0.85rem;
}

.strength-bar {
    height: 4px;
    background: var(--border-light);
    border-radius: 2px;
    overflow: hidden;
    margin-top: 0.25rem;
}

.strength-fill {
    height: 100%;
    transition: all 0.3s ease;
    border-radius: 2px;
}

.strength-weak {
    background: #ef4444;
    width: 25%;
}

.strength-fair {
    background: #f59e0b;
    width: 50%;
}

.strength-good {
    background: #10b981;
    width: 75%;
}

.strength-strong {
    background: #059669;
    width: 100%;
}

/* Validation */
.text-danger {
    color: #ef4444 !important;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}


/* Separate date display and date picker */
.date-section {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: flex-end;
}

/* Calendar Container */
.calendar-container {
    background: var(--bg-card);
    border-radius: 20px;
    padding: 2rem;
    box-shadow: var(--shadow-medium);
    border: 1px solid var(--border-light);
    position: relative;
    overflow: hidden;
}

    .calendar-container::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        background: linear-gradient(90deg, var(--secondary-color), var(--primary-color));
    }

/* FullCalendar Customization */
.fc {
    background: transparent;
}

.fc-toolbar {
    background: var(--bg-light);
    border-radius: 15px;
    padding: 1rem;
    margin-bottom: 1.5rem;
    border: 1px solid var(--border-light);
}

.fc-button {
    background: linear-gradient(135deg, var(--primary-color), #4f46e5) !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 0.5rem 1rem !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3) !important;
}

    .fc-button:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 8px 20px rgba(99, 102, 241, 0.4) !important;
    }

    .fc-button:disabled {
        opacity: 0.6 !important;
        transform: none !important;
    }

.fc-daygrid-day {
    border: 1px solid var(--border-light) !important;
    transition: all 0.3s ease;
}

    .fc-daygrid-day:hover {
        background: rgba(16, 185, 129, 0.05) !important;
    }

.fc-daygrid-day-number {
    color: var(--text-dark);
    font-weight: 500;
    padding: 0.5rem;
    text-decoration: none !important;
}

.fc-day-today {
    background: rgba(16, 185, 129, 0.1) !important;
    border-color: var(--secondary-color) !important;
}

    .fc-day-today .fc-daygrid-day-number {
        background: var(--secondary-color);
        color: white;
        border-radius: 50%;
        width: 30px;
        height: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0.25rem;
    }

/* Sentiment Events Styling */
.fc-event {
    border: none !important;
    border-radius: 8px !important;
    padding: 0.25rem !important;
    margin: 0.125rem !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;
}

    /* Sentiment-specific colors */
    .fc-event[data-sentiment="positive"] {
        background: linear-gradient(135deg, #22c55e, #16a34a) !important;
    }

    .fc-event[data-sentiment="negative"] {
        background: linear-gradient(135deg, #ef4444, #dc2626) !important;
    }

    .fc-event[data-sentiment="neutral"] {
        background: linear-gradient(135deg, #6b7280, #4b5563) !important;
    }

    .fc-event[data-sentiment="happy"] {
        background: linear-gradient(135deg, #fbbf24, #f59e0b) !important;
    }

    .fc-event[data-sentiment="sad"] {
        background: linear-gradient(135deg, #8b5cf6, #7c3aed) !important;
    }

/* Date Picker Styling */
.flatpickr {
    position: relative;
}

.input-button {
    background: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: white !important;
    transition: all 0.3s ease;
}

    .input-button:hover {
        background: #059669 !important;
        transform: scale(1.05);
    }

/* Chart Containers */
.chart-container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 400px;
    background: var(--bg-light);
    border-radius: 15px;
    padding: 2rem;
    margin: 1rem 0;
}

/* No Records Card */
.no-records-card {
    background: linear-gradient(135deg, #fef3c7, #fed7aa);
    border-left: 4px solid var(--accent-color);
}

    .no-records-card::before {
        background: linear-gradient(90deg, var(--accent-color), #d97706);
    }

/* Collapse Toggle */
.collapse-toggle {
    color: var(--text-medium);
    text-decoration: none;
    transition: all 0.3s ease;
}

    .collapse-toggle:hover {
        color: var(--secondary-color);
        transform: scale(1.1);
    }





.center-1 {
    margin: 0 0 100px;
}

.center-2, .side-2 {
    margin: 0 0 50px;
}

    .side-2:after {
        content: "";
        display: block;
        clear: both;
    }

/*.page {
    min-height: 200px;
    text-align: center;
}

.page-title {
    min-height: 50px;
    margin: 0 0 25px;
    border-bottom: 1px solid #ddd;
    padding: 6px 10px;
}

    .page-title h1 {
        font-size: 30px;
        font-weight: normal;
    }

    .page:after,
    .page-title:after,
    .page-body:after {
        content: "";
        display: block;
        clear: both;
    }*/

.center-1 .page-title,
.center-1 .title {
    text-align: center;
}

.buttons {
    margin: 0 0 30px;
}

.link-rss {
    display: none;
    width: 24px;
    height: 24px;
    background: url('../images/rss.png') center no-repeat;
    font-size: 0 !important;
}

full-description ul,
.post-body ul {
    margin: 12px 0;
    padding: 0 0 0 36px;
    list-style: disc;
}

.full-description ol,
.post-body ol {
    margin: 12px 0;
    padding: 0 0 0 36px;
    list-style: decimal;
}

.full-description p,
.topic-block p,
.topic-page p,
.post-body p,
.news-body p {
    margin: 10px 0;
    text-align: justify;
}

.flyout-cart {
    display: none;
}

/* Search box */

.search-box form {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 10px 0;
}

.search-box input.search-box-text {
    width: 200px;
    height: 36px;
    margin: 0 -1px 0 0;
}

.search-box .search-box-category {
    height: 36px;
}

.search-box .search-box-button {
    min-width: 86px;
    height: 36px;
    border: none;
    background-color: #4ab2f1;
    padding: 0 15px;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
}

    .search-box .search-box-button:hover,
    .search-box .search-box-button:focus {
        background-color: #248ece;
    }

.search-box .ui-autocomplete-loading {
    background: #fff url('../images/ajax-loader-small.gif') right center no-repeat;
}

.ui-helper-hidden-accessible {
    display: none !important;
}

.ui-autocomplete {
    width: 285px !important;
    border: 1px solid #ddd;
    border-top: none;
    overflow: hidden;
    background-color: #fff;
    text-align: left;
    /*override jQuery UI styles, do not delete doubled properties*/
    border-radius: 0;
    padding: 0;
    font: normal 14px Arial, Helvetica, sans-serif;
}

    .ui-autocomplete li {
        border-top: 1px solid #ddd;
    }

        .ui-autocomplete li:first-child {
            border-top: none;
        }

    .ui-autocomplete a {
        display: block;
        padding: 15px;
        font-size: 14px;
        /*override jQuery UI styles, do not delete doubled properties*/
        margin: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        background: none !important;
        padding: 15px !important;
        line-height: normal !important;
        color: #777 !important;
    }

        .ui-autocomplete a:hover,
        .ui-autocomplete a:focus,
        .ui-autocomplete a.ui-state-focus {
            background-color: #f6f6f6 !important;
        }

    .ui-autocomplete img {
        display: none;
        min-width: 20px;
        margin: 0 10px 0 0;
        vertical-align: middle;
    }


/*********** SIDE COLUMN ***********/



.block {
    max-width: 600px; /*width limit in mobile*/
    min-height: 50px;
    margin: auto;
    text-align: left;
}

.block .title {
    position: relative;
    margin: 0 0 10px;
    border-bottom: 1px solid #ddd;
    background: #f6f6f6 url('../images/toggle-gray.png') right 14px no-repeat;
    padding: 12px 30px 12px 10px;
    font-size: 20px;
    color: #444;
    cursor: pointer;
}

    .block .title strong {
        font-weight: normal;
    }

.block .listbox {
    display: none;
    border-bottom: 1px solid #ddd;
    padding: 10px 5px;
}

.block .list li {
    padding: 5px 0 5px 15px;
}

.block .list a {
    display: inline-block;
    position: relative;
    padding: 5px 0;
    font-size: 16px;
    color: #444;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
}

    .block .list a:before {
        content: "";
        position: absolute;
        top: 12px;
        left: -15px;
        width: 5px;
        height: 5px;
        background-color: #ddd;
    }

.block .list .active > a {
    color: #4ab2f1;
}

.block .list a:hover,
.block .list a:focus {
    color: #4ab2f1;
}



.block .sublist {
    margin: 15px 0 5px;
}

    .block .sublist a {
        font-size: 14px;
    }

.block .view-all {
    margin: 10px 0 0;
}

    .block .view-all a {
        display: inline-block;
        padding: 10px 15px;
        font-size: 16px;
        color: #4ab2f1;
    }

        .block .view-all a:hover,
        .block .view-all a:focus {
            text-decoration: underline;
        }

.block .tags {
    margin: 5px 0 10px;
}

    .block .tags ul {
        font-size: 0;
    }

    .block .tags li {
        display: inline-block;
        position: relative;
        margin: 0 10px;
        overflow: hidden;
        font-size: 17px !important; /*setting base size*/
    }

        .block .tags li a {
            float: left;
            line-height: 30px;
            color: #444;
        }

            .block .tags li a:hover,
            .block .tags li a:focus,
            .product-tags-all-page li a:hover,
            .product-tags-all-page li a:focus {
                color: #4ab2f1;
            }

.poll strong {
    display: block;
    margin: 10px 0;
    background-color: #f6f6f6;
    padding: 10px 15px;
    font-size: 15px;
    font-weight: normal;
    color: #444;
    text-transform: uppercase;
}

.poll-options,
.poll-results {
    margin: 10px 0 15px;
    overflow: hidden;
    font-size: 15px;
    color: #444;
}

    .poll-options li,
    .poll-results li {
        margin: 10px 0;
    }

        .poll-options li > input {
            margin: 0 5px 0 0;
            cursor: pointer;
        }

        .poll-options li > label {
            display: inline-block;
            font-size: 16px;
            cursor: pointer;
        }

.poll .buttons,
.poll-total-votes {
}

    .poll .buttons button {
        border: none;
        background-color: #aaa;
        padding: 10px 20px;
        font-size: 13px;
        color: #fff;
        text-transform: uppercase;
    }

        .poll .buttons button:hover,
        .poll .buttons button:focus {
            background-color: #bbb;
        }

.poll-total-votes {
    display: block;
    margin: 10px 0 0;
    font-weight: bold;
    font-style: italic;
    color: #444;
}

/********** CATEGORY PAGE **********/



.breadcrumb {
    margin: 0 0 50px;
    background-color: #f6f6f6;
    padding: 5px 10px;
}

    .breadcrumb ul {
        font-size: 0;
    }

    .breadcrumb li {
        display: inline-block;
    }

        .breadcrumb li * {
            display: inline-block;
            margin: 0 5px;
            font-size: 14px; /*reset zeroing*/
            line-height: 32px;
        }

    .breadcrumb strong {
        font-weight: normal;
    }

    .breadcrumb a:hover,
    .breadcrumb a:focus {
        color: #4ab2f1;
    }




.pager {
    margin: 0 0 20px;
}

    .pager ul {
        text-align: right;
        font-size: 0;
    }

    .pager li {
        display: inline-block;
        margin: 0 5px;
        vertical-align: top;
    }

        .pager li a,
        .pager li span {
            display: block;
            min-width: 35px;
            height: 35px;
            border: 1px solid #ddd;
            background-color: #eee;
            padding: 8px;
            text-align: center;
            font-size: 14px; /*reset zeroing*/
            cursor: pointer;
        }

        .pager li span {
            border-color: transparent;
            background-color: #4ab2f1;
            color: #fff;
        }

        .pager li.previous-page *,
        .pager li.next-page *,
        .pager li.first-page *,
        .pager li.last-page * {
            background-position: center;
            background-repeat: no-repeat;
            font-size: 0;
            color: #fff;
        }

        .pager li.previous-page * {
            background-image: url('../images/prev.png');
        }

        .pager li.next-page * {
            background-image: url('../images/next.png');
        }

        .pager li.first-page * {
            background-image: url('../images/first.png');
        }

        .pager li.last-page * {
            background-image: url('../images/last.png');
        }

        .pager li a:hover,
        .pager li a:focus {
            border-color: transparent;
            background-color: #ddd;
        }

/****** SEARCH & SITEMAP ******/



.search-page .page-title {
    margin: 0 0 -1px;
}

.search-input .fieldset {
    margin: 0 0 30px;
}

.search-input .form-fields {
    padding: 30px 15px 10px;
}

.search-input input + label {
    display: inline;
    margin: 0 0 0 5px;
}

.advanced-search {
    margin: 30px 0 0;
}

    .advanced-search .price-range {
        display: inline-block;
    }

        .advanced-search .price-range input {
            width: 80px;
            margin: 3px;
        }

.search-input .buttons {
    text-align: center;
}

.search-input .button-1 {
    min-width: 140px;
    border: none;
    background-color: #4ab2f1;
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
}

    .search-input .button-1:hover,
    .search-input .button-1:focus {
        background-color: #248ece;
    }

.search-results {
    margin: 30px 0 0;
}

    .search-results .warning {
        margin: 10px 0;
        color: #e4434b;
    }

.sitemap-page .description {
    margin: 0 0 30px;
    text-align: center;
}

.sitemap-page .entity {
    margin: 0 0 30px;
}

.sitemap-page .entity-title {
    margin: 0 0 15px;
    padding: 0 10px;
    text-align: center;
}

    .sitemap-page .entity-title h2 {
        font-size: 20px;
        font-weight: normal;
        color: #444;
    }

.sitemap-page .entity-body {
    border-top: 1px solid #e6e6e6;
    background-color: #f9f9f9;
    padding: 30px 15px;
    text-align: center;
}

.sitemap-page .entity ul {
    font-size: 0;
}

.sitemap-page .entity li {
    display: inline-block;
    position: relative;
    margin: 0 8px;
    padding: 0 12px;
    line-height: 50px;
    font-size: 14px; /*reset zeroing*/
}

    .sitemap-page .entity li:before {
        content: "";
        position: absolute;
        top: 23px;
        left: 0;
        width: 5px;
        height: 5px;
        background-color: #ddd;
    }

.sitemap-page .entity a {
    color: #444;
}

    .sitemap-page .entity a:hover,
    .sitemap-page .entity a:focus {
        color: #4ab2f1;
    }

    .sitemap-page .entity a:empty {
        display: none;
    }

/*** FORUM & PROFILE ***/



.forums-main-page .topic-block {
    margin: 0 0 35px;
    text-align: center;
}

    .forums-main-page .topic-block p {
        text-align: center;
    }

.forums-main-page .pager {
    display: none;
}

.forum-breadcrumb {
    margin: 0 0 40px;
}

.forums-header {
    margin: 0 0 50px;
    overflow: hidden;
}

    .forums-header:after {
        content: "";
        display: block;
        clear: both;
    }

    .forums-header .current-time {
        margin: 0 0 15px;
        color: #444;
    }

.forum-search-box .basic {
    overflow: hidden;
    margin: 0 0 10px;
}

.forum-search-box .advanced a {
    line-height: 22px;
    color: #444;
    text-decoration: underline;
}

    .forum-search-box .advanced a:hover,
    .forum-search-box .advanced a:focus {
        color: #4ab2f1;
    }

.forum-search-page .page-title {
    margin: 0 0 -1px;
}

.forum-search-page .search-error,
.forum-search-page .no-result {
    margin: 0 0 15px;
    text-align: center;
    color: #e4434b;
}

/* forum group */

.forums-table-section {
    margin: 0 0 60px;
}

    .forums-table-section + .pager {
        margin: -30px 0 30px;
    }

.forums-table-section-title {
    margin: 0 0 15px;
    padding: 0 10px;
    text-decoration:none;
}

    .forums-table-section-title a,
    .forums-table-section-title strong {
        font-size: 22px;
        font-weight: normal;
        color: #444;
    }

        .forums-table-section-title a:hover,
        .forums-table-section-title a:focus {
            color: #4ab2f1;
        }

.forums-table-section .image div {
    width: 38px;
    height: 32px;
    margin: auto;
    background: url('../images/topic-type1.png') center no-repeat;
}

    .forums-table-section .image div.sticky {
        background: url('../images/topic-type2.png') center no-repeat;
    }

    .forums-table-section .image div.announcement {
        background: url('../images/topic-type3.png') center no-repeat;
    }

.forums-table-section .forum-title,
.forums-table-section .topic-title {
    margin: 5px 0;
}

    .forums-table-section .forum-title a,
    .forums-table-section .topic-title a {
        font-size: 16px;
        font-weight: bold;
        color: #444;
    }

        .forums-table-section .forum-title a:hover,
        .forums-table-section .forum-title a:focus,
        .forums-table-section .topic-title a:hover,
        .forums-table-section .topic-title a:focus {
            color: #4ab2f1;
            text-decoration: none;
        }

    .forums-table-section .topic-title span {
        display: block;
        color: #777;
    }

.forums-table-section .forum-description,
.forums-table-section .topic-starter {
    margin: 5px 0;
}

.forums-table-section .latest-post {
    white-space: nowrap;
}

    .forums-table-section .latest-post div {
        margin: 5px 0;
    }

    .forums-table-section .latest-post label {
        color: #777;
    }

.forums-table-section .view-all {
    margin: 30px 0 0;
    padding: 0 10px;
}

    .forums-table-section .view-all a {
        background-color: #4ab2f1;
        padding: 10px 15px;
        font-size: 12px;
        color: #fff;
        text-transform: uppercase;
    }

        .forums-table-section .view-all a:hover,
        .forums-table-section .view-all a:focus {
            background-color: #248ece;
        }

/* forum-page, topic page */

.forum-page .forum-info {
    margin: 0 0 30px;
}

.forum-page .forum-name,
.forum-topic-page .topic-name {
    margin: 0 0 25px;
    border-bottom: 1px solid #ddd;
    padding: 0 10px 10px;
}

    .forum-page .forum-name h1,
    .forum-topic-page .topic-name h1 {
        font-size: 30px;
        font-weight: normal;
    }

.forum-actions,
.topic-actions {
    margin: 0 0 30px;
    font-size: 0;
}

    .forum-actions .actions a,
    .topic-actions .actions a {
        display: inline-block;
        margin: 1px;
        padding: 10px 10px 10px 33px;
        font-size: 14px;
    }

    

    
    .forum-actions .pager.upper,
    .topic-actions .pager.upper {
        display: none;
        margin: 0;
    }

    .topic-actions .reply-topic-button {
        background: #eee url('../images/reply.png') left center no-repeat;
    }

    .topic-actions .watch-topic-button {
        background: #eee url('../images/watch.png') left center no-repeat;
    }

    .topic-actions .move-topic-button {
        background: #eee url('../images/move.png') left center no-repeat;
    }

    .topic-actions .edit-topic-button {
        background: #eee url('../images/edit_.png') left center no-repeat;
    }

    .topic-actions .delete-topic-button {
        background: #eee url('../images/remove_.png') left center no-repeat;
    }

    .topic-actions.lower .actions {
        display: none;
    }

.active-discussions-page .forums-table-section-title {
    margin: 0 0 25px;
    border-bottom: 1px solid #ddd;
    padding: 0 10px 10px;
}

    .active-discussions-page .forums-table-section-title strong {
        font-size: 30px;
        font-weight: normal;
    }

.active-discussions-page .forums-table-section-body {
    margin: 0 0 20px;
}

/* topic post */

.topic-post {
    margin: 0 0 30px;
    border-top: 1px solid #ddd;
}

    .topic-post:last-child {
        border-bottom: 1px solid #ddd;
    }

    .topic-post:after {
        content: "";
        display: block;
        clear: both;
    }

    .topic-post .post-info {
        margin: 30px 0;
    }

    .topic-post .user-info {
        width: 150px;
        margin: 0 auto 15px
    }

    .topic-post .username {
        display: block;
        margin: 0 0 -1px;
        border: 1px solid #ddd;
        background-color: #f6f6f6;
        padding: 11px 0;
        font-weight: bold;
        color: #444;
    }

    .topic-post a.username:hover,
    .topic-post a.username:focus {
        color: #4ab2f1;
    }

    .topic-post .avatar,
    .profile-info-box .avatar {
        position: relative;
        width: 150px;
        height: 150px;
        border: 1px solid #ddd;
        overflow: hidden;
    }

        .topic-post .avatar img,
        .profile-info-box .avatar img {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            max-width: 100%;
            max-height: 100%;
            margin: auto;
        }

        .topic-post .avatar img {
            border: solid 2px #CEDBE1 !important;
        }

    .topic-post .user-stats {
        margin: 0 0 15px;
    }

        .topic-post .user-stats li {
            display: inline-block;
            margin: 0 10px;
        }

        .topic-post .user-stats span,
        .profile-info-box .profile-stats span {
            margin: 0 0 0 3px;
            font-weight: bold;
            color: #444;
        }

    .topic-post .pm-button,
    .profile-info-box .pm-button {
        display: inline-block;
        border: none;
        background-color: #888;
        padding: 10px 20px;
        font-size: 12px;
        color: #fff;
        text-transform: uppercase;
    }

        .topic-post .pm-button:hover,
        .topic-post .pm-button:focus,
        .profile-info-box .pm-button:hover,
        .profile-info-box .pm-button:focus {
            background-color: #999;
        }

    .topic-post .post-time {
        margin: 0 0 15px;
        background-color: #f6f6f6;
        padding: 10px 15px;
        font-size: 13px;
        font-weight: bold;
    }

        .topic-post .post-time span {
            color: #444;
        }

    .topic-post .post-actions {
        margin: 0 0 15px;
        font-size: 0;
    }

        .topic-post .post-actions > div {
            display: inline-block;
        }

        .topic-post .post-actions a {
            display: inline-block;
            margin: 1px 5px;
            font-size: 14px;
        }

        .topic-post .post-actions .edit-post-button,
        .topic-post .post-actions .delete-post-button {
            padding: 10px 10px 10px 33px;
        }

        .topic-post .post-actions .edit-post-button {
            background: url('../images/edit_.png') left center no-repeat;
        }

        .topic-post .post-actions .delete-post-button {
            background: url('../images/remove_.png') left center no-repeat;
        }

            .topic-post .post-actions .edit-post-button:hover,
            .topic-post .post-actions .edit-post-button:focus,
            .topic-post .post-actions .delete-post-button:hover,
            .topic-post .post-actions .delete-post-button:focus {
                color: #4ab2f1;
            }

        .topic-post .post-actions .post-link-button {
            padding: 10px;
            font-weight: bold;
            color: #4ab2f1;
        }

            .topic-post .post-actions .post-link-button:hover,
            .topic-post .post-actions .post-link-button:focus {
                text-decoration: underline;
            }

        .topic-post .post-actions .quote-post-button {
            background-color: #888;
            padding: 10px 20px;
            color: #fff;
        }

            .topic-post .post-actions .quote-post-button:hover,
            .topic-post .post-actions .quote-post-button:focus {
                background-color: #999;
                color: #fff;
            }

    .topic-post .post-text {
        /*topic post-text also gets style from blog post-body*/
        padding: 0 10px 20px;
        line-height: 22px;
        color: #444;
        margin-bottom: 0;
    }

    .topic-post .post-vote {
        text-align: center;
        display: table;
        margin: 0 auto 20px;
    }

    .topic-post .user-posted-image,
    .latest-posts .user-posted-image {
        max-width: 100%;
        height: auto;
    }

    .topic-post .quote,
    .latest-posts .quote {
        margin: 10px 0;
        border: 1px dashed #ccc;
        background-color: #f9f9f9;
        padding: 10px;
        color: #777;
    }

    .topic-post .signature {
        border-top: 1px solid #ddd;
        padding: 20px;
        font-size: 13px;
        font-style: italic;
        clear: both;
    }

    .topic-post .post-vote span.vote {
        cursor: pointer;
        display: block;
        width: 40px;
        height: 24px;
    }

    .topic-post .post-vote span.up {
        background: url('../images/vote-up.png') no-repeat 50% 50%;
    }

    .topic-post .post-vote span.vote.up.selected {
        background: url('../images/vote-up-selected.png') no-repeat 50% 50%;
    }

    .topic-post .post-vote span.down {
        background: url('../images/vote-down.png') no-repeat 50% 50%;
    }

    .topic-post .post-vote span.vote.down.selected {
        background: url('../images/vote-down-selected.png') no-repeat 50% 50%;
    }

    .topic-post .vote-count-post {
        display: block;
        font-size: 160%;
    }
/* forum edit & send message */

.forum-edit-page .page-title,
.move-topic-page .page-title,
.private-message-send-page .page-title {
    margin: 0 0 -1px;
}

.move-topic-page label {
    white-space: normal;
}

.forum-edit-page .message-error,
.private-message-send-page .message-error {
    margin: 20px 0;
}

.forum-edit-page .inputs strong {
    display: inline-block;
    max-width: 400px;
    font-size: 22px; /*reset zeroing*/
    font-weight: normal;
    color: #444;
    white-space: normal;
}

.forum-edit-page .inputs .topic-subject {
    font-size: 17px;
}

.forum-edit-page .inputs.reversed {
    margin: 0;
}

    .forum-edit-page .inputs.reversed label {
        width: auto;
        margin: 5px;
        font-size: 14px; /*reset zeroing*/
        white-space: normal;
    }

.forum-edit-page .bb-code-editor-wrapper,
.private-message-send-page .bb-code-editor-wrapper {
    max-width: 400px;
    margin: 20px auto;
    background-color: #ddd;
    padding: 10px;
}

.forum-edit-page .toolbar .button,
.private-message-send-page .toolbar .button {
    margin: 0 2px 0 0;
    border: #cec6b5 1px solid;
    padding: 2px;
}

    .forum-edit-page .toolbar .button:hover,
    .forum-edit-page .toolbar .button:focus,
    .private-message-send-page .toolbar .button:hover,
    .private-message-send-page .toolbar .button:focus {
        border: #333 1px solid;
    }

.forum-edit-page textarea,
.private-message-send-page textarea {
    display: block;
    margin: auto;
}

.forum-edit-page .buttons button,
.move-topic-page .buttons button,
.private-messages .buttons button {
    min-width: 140px;
    border: none;
    background-color: #999;
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
}

    .forum-edit-page .buttons button:hover,
    .forum-edit-page .buttons button:focus,
    .move-topic-page .buttons button:hover,
    .move-topic-page .buttons button:focus,
    .private-messages .buttons button:hover,
    .private-messages .buttons button:focus {
        background-color: #888;
    }

.forum-edit-page .buttons .button-1,
.move-topic-page .buttons .button-1,
.private-messages .buttons .button-1 {
    background-color: #4ab2f1;
}

    .forum-edit-page .buttons .button-1:hover,
    .forum-edit-page .buttons .button-1:focus,
    .move-topic-page .buttons .button-1:hover,
    .move-topic-page .buttons .button-1:focus,
    .private-messages .buttons .button-1:hover,
    .private-messages .buttons .button-1:focus {
        background-color: #248ece;
    }

.private-message-send-page a {
    font-size: 14px;
    color: #4ab2f1;
}

.private-message-send-page span {
    font-size: 14px;
}

/* jQuery tabs */

.ui-tabs {
    /*override jQuery UI styles, do not delete doubled properties*/
    border: none;
    border-radius: 0;
    background: none;
    padding: 0;
    font: normal 14px Arial, Helvetica, sans-serif;
    color: #777;
}

.ui-widget.ui-widget-content.ui-tabs {
    border: none;
}

.ui-tabs-nav {
    margin: 0 0 30px;
    border-bottom: 1px solid #ddd;
    overflow: hidden;
    font-size: 0;
    /*override jQuery UI styles, do not delete doubled properties*/
    margin: 0 0 30px !important;
    border-width: 0 0 1px;
    border-radius: 0;
    background: none;
    padding: 0 !important;
    line-height: normal;
    font-weight: normal;
    color: #444;
}

    .ui-tabs-nav li {
        margin: 0 0 -1px;
        /*override jQuery UI styles, do not delete doubled properties*/
        float: none !important;
        margin: 0 0 -1px !important;
        border: none !important;
        border-radius: 0;
        background: none !important;
        padding: 0 !important;
    }

        .ui-tabs-nav li a {
            display: block;
            border: 1px solid #ddd;
            padding: 12px 24px;
            text-align: center;
            font-size: 18px;
            color: #444;
            /*override jQuery UI styles, do not delete doubled properties*/
            float: none !important;
            padding: 12px 24px !important;
        }

        .ui-tabs-nav li.ui-state-active a {
            background-color: #eee;
            color: #4ab2f1;
        }

.ui-tabs-panel {
    /*override jQuery UI styles, do not delete doubled properties*/
    padding: 0 !important;
}

/* inbox & view message */

.private-messages-page .table-wrapper,
.private-message-view-page .view-message {
    margin: 0 0 30px;
}

.private-messages-page th.select {
    text-align: center;
}

.private-messages-page td.from,
.private-messages-page td.to,
.private-messages-page td.subject {
    min-width: 150px;
}

.private-messages-page td.date {
    white-space: nowrap;
}

.private-messages-page td.subject a {
    color: #444;
}

    .private-messages-page td.subject a.pm-unread {
        color: #4ab2f1;
    }

.private-messages-page .pager {
    margin: 0 0 30px;
}

.private-messages-page .buttons,
.private-message-view-page .buttons {
    font-size: 0;
}

    .private-messages-page .buttons .button-1,
    .private-messages-page .buttons .button-2,
    .private-message-view-page .buttons .button-1,
    .private-message-view-page .buttons .button-2 {
        display: block;
        width: 250px;
        margin: 0 auto 3px;
        font-size: 15px; /*reset zeroing*/
    }

.private-messages-page .no-items {
    padding: 20px;
    text-align: center;
}

.private-message-view-page .view-message {
    margin: 0 0 30px;
}

.private-message-view-page .message-head {
    margin: 0 0 20px;
    line-height: 22px;
}

    .private-message-view-page .message-head span {
        font-weight: bold;
        color: #444;
    }

.private-message-view-page .message-body {
    border-top: 1px solid #ddd;
    background-color: #f9f9f9;
    padding: 30px 20px;
    line-height: 22px;
    text-align: justify;
}

.private-message-view-page .back-pm-button {
    text-transform: capitalize !important;
}

/* profile page  */

.profile-info-box {
    overflow: hidden;
    /*override jQuery UI styles, do not delete doubled properties*/
    line-height: normal;
    font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;
    color: #777;
}

    .profile-info-box .user-details {
        margin: 0 0 30px;
    }

    .profile-info-box .avatar {
        margin: 0 auto 15px;
    }

    .profile-info-box .title {
        margin: 0 0 10px;
        font-size: 18px;
        color: #444;
    }

    .profile-info-box .stats {
        margin: 0 0 15px;
    }

.latest-posts {
    /*override jQuery UI styles, do not delete doubled properties*/
    line-height: normal;
    font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;
    color: #777;
}

    .latest-posts .topic {
        margin: 0 0 35px;
    }

    .latest-posts .topic-title {
        margin: 0 0 20px;
        border-top: 1px solid #ddd;
        background: #f6f6f6;
        padding: 10px;
        font-size: 16px;
    }

        .latest-posts .topic-title a {
            font-weight: bold;
            color: #444;
        }

            .latest-posts .topic-title a:hover,
            .latest-posts .topic-title a:focus {
                color: #4ab2f1;
            }

    .latest-posts .topic-body {
        margin: 0 0 15px;
        line-height: 22px;
    }

    .latest-posts .topic-data {
        color: #444;
    }

/* BB codes */

.csharpcode {
    margin: 10px 0;
    border: 1px dashed #ccc;
    background-color: #fff;
    padding: 10px;
    font-family: "Courier New", Courier, monospace;
    color: #000;
    white-space: pre-wrap;
    word-wrap: break-word;
}

    .csharpcode .rem {
        color: green;
    }

    .csharpcode .kwrd {
        color: #00f;
    }

    .csharpcode .str {
        color: #006080;
    }

    .csharpcode .op {
        color: #00c;
    }

    .csharpcode .preproc {
        color: #c63;
    }

    .csharpcode .asp {
        background-color: #ff0;
    }

    .csharpcode .html {
        color: maroon;
    }

    .csharpcode .attr {
        color: red;
    }

    .csharpcode .alt {
        width: 100%;
        margin: 0;
        background-color: #f6f6f6;
    }

    .csharpcode .lnum {
        color: #666;
    }










@media all and (max-width: 1000px) {





    /*** MOBILE NAVIGATION ***/


    .header-menu {
        position: relative;
        z-index: 1;
        width: 90%;
        max-width: 600px;
        margin: 0 auto 40px;
    }

    .menu-toggle {
        background: #4ab2f1 url('../images/menu-icon.png') right center no-repeat;
        padding: 15px;
        font-size: 15px;
        font-weight: bold;
        color: #fff;
        text-transform: uppercase;
        cursor: pointer;
    }

    .top-menu {
        display: none;
    }

        .top-menu > li {
            position: relative;
            margin: 1px 0;
            background-color: #f6f6f6;
        }

            .top-menu > li > a {
                display: block;
                min-height: 55px;
                padding: 18px;
                font-size: 15px;
                color: #555;
            }

                .top-menu > li > a:focus {
                    position: relative;
                    z-index: 1;
                }

        .top-menu .sublist {
            display: none;
            background-color: #fff;
            padding: 5px 0;
        }

            .top-menu .sublist li {
                position: relative;
                margin: 1px 0 1px 20px;
            }

                .top-menu .sublist li a {
                    display: block;
                    padding: 15px 18px;
                    font-size: 15px;
                }

    .sublist-toggle {
        position: absolute;
        top: 0;
        right: 0;
        width: 55px;
        height: 55px;
        border-left: 1px solid #fff;
        background: url('../images/toggle-black.png') center no-repeat;
        padding: 15px;
        font-size: 15px;
        font-weight: bold;
        color: #fff;
        text-transform: uppercase;
        cursor: pointer;
    }

    .sublist .sublist-toggle {
        height: 49px;
    }

    .sublist .sublist li {
        background-color: #f6f6f6;
    }

    .sublist .sublist .sublist li {
        background-color: #fff;
    }
}





@media all and (min-width: 481px) {




    /*** FORUM & PROFILE ***/

    .forums-header {
        background-color: #f9f9f9;
        padding: 30px 20px 20px;
    }

    .ui-tabs-nav li {
        display: inline-block;
        min-width: 150px;
        margin: 0 5px -1px;
        /*override jQuery UI styles, do not delete doubled properties*/
        margin: 0 5px -1px !important;
    }

    .private-messages-page .buttons .button-1,
    .private-messages-page .buttons .button-2,
    .private-message-view-page .buttons .button-1,
    .private-message-view-page .buttons .button-2 {
        display: inline-block;
        width: auto;
        margin: 1px;
    }

    .topic-post .post-text {
        float: left;
        width: 90.5%;
        text-align: left;
    }

    .forum-group .forum-table th.latest-post,
    .forum-group .forum-table th.topics,
    .forum-group .forum-table th.posts,
    .forum-group .forum-table td.latest-post,
    .forum-group .forum-table td.topics,
    .forum-group .forum-table td.posts {
        display: table-cell;
    }

    .topic-group .forum-table th.latest-post,
    .topic-group .forum-table td.latest-post {
        display: table-cell;
    }

    .forum-table td.image {
        max-width: 40px;
    }

        .forum-table td.image div {
            max-width: 100%;
            background-size: contain;
        }

}


@media all and (min-width: 769px) {


    

    /*** BLOG & NEWS ***/


   
    .new-comment {
        text-align: center;
    }

        .new-comment .buttons {
            text-align: center;
        }

    .comment-list .comment {
        display: table;
        width: 100%;
        margin: 0;
    }

        .comment-list .comment:last-child {
            border-bottom: 1px solid #ddd;
        }

    .comment-info {
        display: table-cell;
        width: 15%;
        margin: 0;
        vertical-align: top;
    }

        .comment-info .username {
            min-height: 40px;
            margin: 0;
            border: none;
            text-align: center;
        }

        .comment-info .avatar {
            border: none;
        }

            .comment-info .avatar img {
                max-width: 80%;
                max-height: 80%;
            }

    .comment-content {
        display: table-cell;
        width: 85%;
        border-left: 1px solid #ddd;
        vertical-align: top;
        text-align: left;
    }

    .comment-time {
        min-height: 40px;
        margin: 0;
        background-color: #f6f6f6;
        padding: 10px 15px;
        font-size: 14px;
        font-weight: normal;
    }

    .comment-title {
        margin: 0 0 -20px;
        padding: 20px;
    }

    .comment-body {
        padding: 20px;
    }


    /*** FORUM & PROFILE ***/


    .forum-actions,
    .topic-actions {
        overflow: hidden;
    }

        .forum-actions .actions,
        .topic-actions .actions {
            float: left;
        }

        .forum-actions .pager,
        .topic-actions .pager {
            float: right;
            max-width: 450px;
        }

            .forum-actions .pager li,
            .topic-actions .pager li {
                margin: 2px 4px;
            }

            .forum-actions .pager.upper {
                display: block;
            }

        .topic-actions.lower .actions {
            display: block;
        }

    .topic-posts {
        margin: 0 0 30px;
    }

    .topic-post {
        display: table;
        width: 100%;
        margin: 0;
    }

        .topic-post .post-info {
            display: table-cell;
            width: 15%;
            margin: 0;
            vertical-align: top;
            text-align: left;
        }

        .topic-post .user-info {
            width: auto;
        }

        .topic-post .username {
            min-height: 40px;
            margin: 0;
            border: none;
            text-align: center;
        }

        .topic-post .avatar {
            margin: auto;
            border: none;
        }

            .topic-post .avatar img {
                max-width: 80%;
                max-height: 80%;
            }

        .topic-post .user-stats li {
            margin: 0;
        }

        .topic-post .send-pm {
            margin: 0 0 20px;
        }

        .topic-post .pm-button,
        .profile-info-box .pm-button {
            padding: 8px 16px;
            font-size: 13px;
        }

        .topic-post .post-content {
            display: table-cell;
            width: 85%;
            border-left: 1px solid #ddd;
            vertical-align: top;
            text-align: left;
        }

        .topic-post .post-head {
            min-height: 40px;
            overflow: hidden;
            background-color: #f6f6f6;
        }

        .topic-post .post-time {
            float: left;
            margin: 0;
            font-size: 14px;
            font-weight: normal;
        }

        .topic-post .post-actions {
            float: right;
            margin: 0;
        }

            .topic-post .post-actions a {
                margin: 0;
                line-height: 20px;
            }

            .topic-post .post-actions .manage-post a {
            }

            .topic-post .post-actions .quote-post a {
                min-width: 70px;
            }

            .topic-post .post-actions a.post-link-button {
                margin: 0 0 0 10px;
                border-left: 1px solid #ddd;
                text-align: center;
            }

        .topic-post .post-text {
            padding: 20px 5px;
        }

        .topic-post .post-vote {
            padding: 20px 0 20px 15px;
        }

    .forum-table th.replies,
    .forum-table th.views,
    .forum-table th.votes,
    .forum-table td.replies,
    .forum-table td.views,
    .forum-table td.votes {
        display: table-cell;
    }

    .forum-table td.image {
        max-width: none;
    }

        .forum-table td.image div {
            max-width: none;
            background-size: initial;
        }

    .ui-tabs-nav {
        text-align: left;
    }

        .ui-tabs-nav li {
            margin: 0 10px -1px 0;
            /*override jQuery UI styles, do not delete doubled properties*/
            margin: 0 10px -1px 0 !important;
        }

    .profile-info-box .avatar {
        float: left;
        margin: 0 15px 15px 0;
    }

    .profile-info-box .profile-stats {
        float: left;
        text-align: left;
    }

    .profile-info-box .title {
        text-align: left;
    }

    .profile-info-box .send-pm {
        clear: both;
        text-align: left;
    }
}





@media all and (min-width: 1001px) {


    /*** GLOBAL STYLES ***/


    .master-wrapper-content {
        width: 980px;
        margin: auto;
    }

    .center-2 {
        float: right;
        width: 73%;
    }

    .side-2 {
        float: left;
        width: 25%;
    }

    .page {
        text-align: left;
    }

    .inputs {
        text-align: left;
    }

        .inputs label {
            display: inline-block;
            width: 265px;
            margin: 0 10px 0 0;
            text-align: right;
        }

        .inputs input[type="text"],
        .inputs input[type="email"],
        .inputs input[type="tel"],
        .inputs input[type="password"],
        .inputs select {
            min-height: 40px;
        }

        .inputs .option-list li {
            margin: 0 10px 0 0;
        }

    .center-1 .buttons {
        text-align: center;
    }

    .center-2 .inputs label {
        width: 136px;
    }

    .inputs.accept-consent label {
        width: auto;
    }

    .page-title a + h1 {
        float: left;
    }

    .link-rss {
        display: block;
        float: right;
        margin: 6px 0 0;
    }





    /*** HEADER ***/


    .header {
        width: 980px;
        margin: auto;
    }

    .header-upper:after {
        content: "";
        display: block;
        clear: both;
    }

    .header-selectors-wrapper {
        float: left;
        border: none;
        padding: 0;
    }

        .header-selectors-wrapper > div {
            width: auto;
            min-width: 100px;
            margin: 0 12px 0 0;
            line-height: 43px;
        }

        .header-selectors-wrapper select {
            height: 25px;
            padding: 4px;
            font-size: 12px;
        }



    .header-links-wrapper {
        float: right;
        padding: 0;
    }

    .header-links li {
        margin: 0 16px;
    }

    .header-links a,
    .header-links span {
        line-height: 45px;
        text-transform: none;
    }



    .search-box form {
        justify-content: flex-end;
    }

    .search-box input.search-box-text,
    .search-box .search-box-button,
    .search-box .search-box-category {
        height: 40px;
    }


 

    /*** COLUMN ***/



    .block {
        float: none;
        width: auto;
        margin: 0 0 20px;
    }

        .block .title {
            margin: 0;
            border-bottom: 1px solid #ddd;
            background: none;
            cursor: auto;
        }

            .block .title strong {
                font-weight: bold;
            }

        .block .listbox {
            display: block;
            border-bottom: none;
        }

        .block a.product-picture {
            display: inline-block;
            position: relative;
            width: 30%;
            margin: 0 0 0 -15px;
            vertical-align: middle;
            text-align: center;
        }

        .block a.product-name {
            vertical-align: middle;
        }

        .block a.product-picture + a.product-name {
            width: 70%;
        }

            .block a.product-picture + a.product-name:before {
                display: none;
            }







    /*** TOPICS ***/


    .center-1 .topic-block-title {
        text-align: center;
    }

    .topic-page p {
        text-align: justify;
    }




    .avatar-page .message-error,
    .avatar-page .buttons {
        text-align: left;
    }



    /*** SEARCH & SITEMAP ***/


    .advanced-search {
        margin-left: 114px;
    }


    /*** BLOG & NEWS ***/


    .comment-list {
        margin: 0 0 50px;
    }

  


    /*** FORUM & PROFILE ***/


    .forum-breadcrumb {
        margin: -30px 0 30px;
    }

    .current-time {
        float: right;
    }

    .forum-search-box {
        float: left;
    }

        .forum-search-box .advanced {
            text-align: left;
        }

            .forum-search-box .advanced a {
                line-height: normal;
            }

    .forums-table-section td {
        min-width: 150px;
    }

        .forums-table-section td:first-child {
            min-width: 90px;
        }

    .forums-table-section .view-all {
        text-align: right;
    }

    .topic-actions .pager.upper {
        display: block;
        max-width: 400px;
    }

    .forum-table .forum-details,
    .forum-table .topic-details {
        min-width: 225px;
    }

    .forum-table td {
        padding: 20px;
    }

    .forum-edit-page textarea,
    .private-message-send-page textarea {
        width: 600px;
        height: 250px;
    }

    .private-message-send-page .bb-code-editor-wrapper {
        display: inline-block;
        width: 400px;
        margin: 10px 0;
        vertical-align: middle;
    }
}







@media all and (min-width: 1367px) {


    /*** GLOBAL STYLES ***/


    .master-wrapper-content {
        width: 1200px;
    }

    .inputs label {
        width: 375px;
    }

    .center-2 .inputs label {
        width: 213px;
    }

    .inputs.accept-consent label {
        width: auto;
    }




    /*** FORUM & PROFILE ***/


    .forum-actions .pager,
    .topic-actions .pager {
        max-width: 600px !important;
    }

    .topic-post .post-text {
        width: 930px;
        max-width: 100%;
    }
}

.swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.swiper-pagination-bullet-active {
    padding: 5px;
    background-color: #4ab2f1;
}

a.skip {
    position: absolute;
    top: -1000px;
    left: -1000px;
    height: 1px;
    width: 1px;
    text-align: left;
    overflow: hidden;
}

    a.skip:active,
    a.skip:focus,
    a.skip:hover {
        position: initial;
        top: 0;
        left: 0;
        display: block;
        height: auto;
        margin: 3px 0;
        overflow: visible;
        padding: 2px;
        color: #444444;
        background: #ffffff;
        text-decoration: underline;
        text-align: center;
        width: 100%;
        font-size: 16px;
    }

/* Default: collapsed (chevron-down) */
.collapse-icon::before {
    content: "\f078"; /* Font Awesome chevron-down */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

/* When expanded: chevron-up */
a[aria-expanded="true"] .collapse-icon::before {
    content: "\f077"; /* Font Awesome chevron-up */
}

/********************************************/
/* Add this to the end of your modern.css file */

/* Emotion Stack Container */
.emotion-stack {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 4px 2px;
    width: 100%;
}

/* Individual Emotion Pills */
.emotion-pill {
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 0.9rem;
    font-weight: 600;
    color: white;
    text-align: center;
    text-transform: capitalize;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
}

    .emotion-pill:hover {
        transform: translateX(2px);
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    }

/* Override FullCalendar event defaults */
.fc-event {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 2px 0 !important;
}

.fc-event-main {
    padding: 0 !important;
}

/* Adjust day cell to accommodate stacked emotions */
.fc-daygrid-day-events {
    min-height: auto !important;
    margin-top: 2px !important;
}

.fc-daygrid-event-harness {
    margin: 1px 0 !important;
}

/* Make day cells taller to fit more emotions */
.fc-daygrid-day-frame {
    min-height: 100px !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .emotion-pill {
        font-size: 0.65rem;
        padding: 2px 6px;
    }

    .emotion-stack {
        gap: 2px;
    }

    .fc-daygrid-day-frame {
        min-height: 80px !important;
    }
}

/* ============================================
   CENTRALIZED EMOTION COLOR SYSTEM
   Add this section to modern.css
   ============================================ */

/* Green - Positive Emotions */
.sentiment-badge.sentiment-happy {
    background: #22c55e !important;
    color: white;
}

.sentiment-badge.sentiment-grateful {
    background: #10b981 !important;
    color: white;
}

.sentiment-badge.sentiment-excitement {
    background: #34d399 !important;
    color: white;
}

.sentiment-badge.sentiment-satisfied {
    background: #059669 !important;
    color: white;
}

/* Yellow - Mild Negative Emotions */
.sentiment-badge.sentiment-lonely {
    background: #fbbf24 !important;
    color: #1f2937; /* Dark text for better contrast on yellow */
}

.sentiment-badge.sentiment-disappointed {
    background: #f59e0b !important;
    color: white;
}

.sentiment-badge.sentiment-confused {
    background: #eab308 !important;
    color: #1f2937; /* Dark text for better contrast on yellow */
}

/* Orange - Moderate Negative Emotions */

.sentiment-badge.sentiment-jealous {
    background: #f97316 !important;
    color: white;
}

.sentiment-badge.sentiment-guilty {
    background: #ea580c !important;
    color: white;
}

.sentiment-badge.sentiment-anxious {
    background: #fb923c !important;
    color: white;
}

.sentiment-badge.sentiment-stress {
    background: #c2410c !important;
    color: white;
}

/* Red - Intense Negative Emotions */
.sentiment-badge.sentiment-bitter {
    background: #dc2626 !important;
    color: white;
}

.sentiment-badge.sentiment-sad {
    background: #b91c1c !important;
    color: white;
}

.sentiment-badge.sentiment-depressed {
    background: #991b1b !important;
    color: white;
}

.sentiment-badge.sentiment-angry {
    background: #ef4444 !important;
    color: white;
}

.sentiment-badge.sentiment-afraid {
    background: #7f1d1d !important;
    color: white;
}


/* Default fallback for any unmapped emotions */
.sentiment-badge {
    background: #6b7280 !important;
    color: white;
}