
    /* --- Definice proměnných dle tvého systému --- */
    :root {
        --primary-bg-color: rgb(26,33,43);
        --secondary-bg-color: rgb(37,44,56);
        --border-color: rgb(49, 58, 74);
        --text-color: rgb(230, 233, 236);
        --icon-color: rgb(255, 255, 255);
        
        /* Doplnění pro specifické stavy, odvozeno z tvého designu */
        --accent-color: #007bff; /* Převzato z tvého .title-input */
        --hover-bg-color: rgba(255, 255, 255, 0.05);
        --mve-border-radius: 12px; /* Zachováno zaoblení, ale s tvými barvami */
        --mve-spacing-unit: 8px;
    }

    /* --- Základní nastavení ikon (dle tvého zadání) --- */
    .material-symbols-rounded {
        font-size: 24px;
        font-variation-settings: 'wght' 100, 'GRAD' -25, 'opsz' 24;
        color: var(--icon-color);
    }


    body {
        font-family: 'Rubik', sans-serif; /* Změna na Rubik dle tvého webu */
        background-color: var(--primary-bg-color);
        color: var(--text-color);
        /*padding: calc(var(--mve-spacing-unit) * 2);*/
    }

    /* --- Hlavní kontejner AI Menu --- */
    /* Stylizováno jako .gs_main_container / .wrapper */
    .mve_aiMenuContainer {
    position: fixed;
    top: 50px;
    right: 50px;
    width: 90%;
    height: 95vh;
    max-height: 800px;

    /* výchozí stav – schované */
    opacity: 0;
    transform: translateY(-20px);
    pointer-events: none;

    display: flex; /* zachová funkci komponent uvnitř */

    background-color: var(--primary-bg-color);
    border: 1px solid var(--border-color);
    border-radius: var(--mve-border-radius);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    overflow: hidden;

    transition: opacity 0.25s ease, transform 0.25s ease;
    z-index: 9999;
}

/* Viditelný stav */
.mve_aiMenuContainer.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}




    .mve_aiMenuContainer.mve_mode_small {
        width: 850px;
        min-width: 600px;
    }

    .mve_aiMenuContainer.mve_mode_fullscreen {
        width: 100vw;
        height: 100vh;
        max-height: none;
        border-radius: 0;
        border: none;
    }
    
    /* --- Levá část - Seznam chatů --- */
    /* Stylizováno jako .leftSideWrapper */
    .mve_leftPanel {
        width: 250px;
        min-width: 200px;
        max-width: 400px;
        background-color: var(--secondary-bg-color);
        border-right: 1px solid var(--border-color);
        display: flex;
        flex-direction: column;
        resize: horizontal;
        overflow: auto;
        transition: margin-left 0.3s ease;
    }

    .mve_leftPanel.mve_hidden {
        margin-left: -250px;
    }
    
    .mve_leftPanel_searchContainer {
        padding: var(--mve-spacing-unit);
        border-bottom: 1px solid var(--border-color);
        display: flex;
        align-items: center;
        gap: var(--mve-spacing-unit);
    }

    /* Input stylizovaný jako .io_input */
    .mve_leftPanel_searchContainer input {
        width: 100%;
        background-color: var(--primary-bg-color); /* Kontrast vůči secondary panelu */
        color: var(--text-color);
        border: 1px solid var(--border-color);
        border-radius: 6px;
        padding: var(--mve-spacing-unit);
        font-family: 'Rubik', sans-serif;
        outline: none;
        transition: border-color 0.2s;
    }

    .mve_leftPanel_searchContainer input:focus {
        border-color: rgb(142,146,150);
    }

    .mve_chatList {
        list-style: none;
        padding: 0;
        margin: 0;
        flex-grow: 1;
        overflow-y: auto;
    }

    .mve_chatListItem {
        padding: calc(var(--mve-spacing-unit) * 1.5);
        cursor: pointer;
        border-bottom: 1px solid var(--border-color);
        transition: background-color 0.2s;
        white-space: nowrap;
        color: var(--text-color);
    }
    
    .mve_chatListItem_content {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .mve_chatListItem_title {
        overflow: hidden;
        text-overflow: ellipsis;
    }
    
    .mve_chatListItem_title input {
        width: 80%;
        background: var(--primary-bg-color);
        border: 1px solid var(--accent-color);
        color: var(--text-color);
        border-radius: 4px;
    }

    .mve_chatListItem_details {
        display: none;
        font-size: 0.8em;
        color: rgb(142, 146, 150); /* Jemnější text v dark mode */
        margin-top: var(--mve-spacing-unit);
    }
    
    .mve_chatListItem_actions {
        display: none;
        gap: var(--mve-spacing-unit);
    }

    /* Hover efekt ladící k dark mode */
    .mve_chatListItem:hover {
        background-color: var(--hover-bg-color);
    }

    .mve_chatListItem:hover .mve_chatListItem_details,
    .mve_chatListItem:hover .mve_chatListItem_actions {
        display: flex;
    }
    
    /* Aktivní prvek */
    .mve_chatListItem.mve_active {
        background-color: rgba(0, 123, 255, 0.15); /* Jemná modrá transparentní */
        border-left: 3px solid var(--accent-color); /* Indikátor vlevo */
        color: var(--text-color);
    }

    .mve_chatListItem.mve_active .mve_chatListItem_details {
        color: var(--text-color);
        opacity: 0.8;
    }
    
    .mve_highlight {
        background-color: rgba(255, 255, 0, 0.2); /* Tlumenější zvýraznění pro tmavé pozadí */
        color: #fff;
    }
/* --- Pravá část - Chat --- */
/* Stylizováno jako .gs_half_container / .rightSideWrapper */
.mve_chatWrapper {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background-color: var(--primary-bg-color); /* Hlavní pozadí */
}

/* --- Horní lišta --- */
.mve_topBar {
    display: flex;
    align-items: center;
    /* Redukce paddingu pro kompaktnější vzhled */
    padding: var(--mve-spacing-unit); 
    border-bottom: 1px solid var(--border-color);
    /* Zachování malé mezery mezi prvky */
    gap: var(--mve-spacing-unit);
    background-color: var(--secondary-bg-color); /* Odlišení hlavičky */
}

.mve_topBar_icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Úprava: Odstranění margin-left: auto pro obecné tlačítko. 
   Místo toho použijeme zástupný prvek pro odsunutí. */
/* Toto pravidlo z původního kódu odstraňte: 
.mve_topBar .mve_button { margin-left: auto; } 
*/

/* Zavedení prázdného 'spaceru' pro odsunutí pravé skupiny tlačítek.
   Je potřeba jej vložit do HTML hned za prvek 'mve_topBar_icon'. */
.mve_topBar_spacer {
    flex-grow: 1; 
    min-width: var(--mve-spacing-unit); /* Malá rezerva */
}

/* Ostatní styly */
.mve_mainChat {
    flex-grow: 1;
    padding: calc(var(--mve-spacing-unit) * 2);
    overflow-y: auto;
    position: relative;
}

.mve_leftPanel_toggle {
    position: absolute;
    margin-top: -55px;
    z-index: 10;
}

.mve_welcomeContainer {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    font-size: 1.5em;
    color: rgb(142, 146, 150); /* Jemná šedá */
    text-align: center;
}

    /* Zprávy */
    .mve_message {
        margin-bottom: calc(var(--mve-spacing-unit) * 2);
    }

    .mve_message_row1 {
        display: flex;
        align-items: center;
        gap: var(--mve-spacing-unit);
        margin-bottom: calc(var(--mve-spacing-unit) / 2);
        font-weight: bold;
        color: var(--text-color);
    }
    
    .mve_message_icon {
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background-color: var(--accent-color);
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 12px;
        color: white;
    }

    .mve_message_content {
        padding: var(--mve-spacing-unit) calc(var(--mve-spacing-unit) * 1.5);
        border-radius: var(--mve-border-radius);
        line-height: 1.6;
        color: var(--text-color);
    }

    .mve_message_row3 {
        display: flex;
        gap: var(--mve-spacing-unit);
        padding: 0 calc(var(--mve-spacing-unit) * 1.5);
        margin-top: var(--mve-spacing-unit);
    }
    
    /* Styly pro uživatele a AI - adaptace na .gs_odstavec styl */
    .mve_message.mve_author_user .mve_message_content {
        background-color: var(--secondary-bg-color);
        border: 1px solid var(--border-color);
        border-bottom-right-radius: 2px;
    }

    .mve_message.mve_author_ai .mve_message_content {
        background-color: rgba(37, 44, 56, 0.5); /* Mírná variace secondary */
        border: 1px dashed var(--border-color); /* Dashed border jako u .gs_prvek pro techničtější look */
        border-bottom-left-radius: 2px;
    }

    /* Dolní část - Vstupní pole */
    .mve_bottomSection {
        padding: calc(var(--mve-spacing-unit) * 2);
        border-top: 1px solid var(--border-color);
        background-color: var(--primary-bg-color);
    }

    .mve_addPromptContainer {
        border: 1px solid var(--border-color);
        border-radius: var(--mve-border-radius);
        padding: var(--mve-spacing-unit);
        display: flex;
        flex-direction: column;
        background-color: var(--secondary-bg-color); /* Tmavší pozadí pro input oblast */
        transition: border-color 0.2s;
    }

    .mve_addPromptContainer:focus-within {
        border-color: rgb(142,146,150);
    }
    
    .mve_addPrompt {
        min-height: 24px;
        max-height: calc(0.36 * 800px);
        overflow-y: auto;
        flex-grow: 1;
        outline: none;
        color: var(--text-color);
        background-color: transparent;
        font-family: 'Rubik', sans-serif;
    }

    .mve_addPrompt[placeholder]:empty:before {
        content: attr(placeholder);
        color: rgb(142, 146, 150);
        cursor: text;
    }
    
    .mve_addPrompt_actions {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: var(--mve-spacing-unit);
    }
    
    /* Našeptávač */
    .mve_suggestionsContainer {
        margin-top: var(--mve-spacing-unit);
    }

    .mve_suggestions_label {
        font-weight: bold;
        color: rgb(142, 146, 150);
        margin-bottom: calc(var(--mve-spacing-unit) / 2);
        font-size: 0.9em;
    }
    
    .mve_suggestions_grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: var(--mve-spacing-unit);
    }
    
    /* Stylizováno jako tlačítka/odkazy v dark mode */
    .mve_suggestionItem {
        background-color: var(--secondary-bg-color);
        padding: var(--mve-spacing-unit);
        border-radius: calc(var(--mve-border-radius) / 2);
        border: 1px solid var(--border-color);
        cursor: pointer;
        transition: all 0.2s;
        text-align: center;
        font-size: 0.9em;
        color: var(--text-color);
    }
    
    .mve_suggestionItem:hover {
        background-color: var(--border-color);
    }
    
    .mve_suggestions_toggle {
        margin-top: var(--mve-spacing-unit);
        color: var(--accent-color);
        cursor: pointer;
        text-align: center;
    }

    /* --- Animace --- */
    .mve_animationContainer {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 40px;
    }

    .mve_anim_circle {
        width: 8px;
        height: 8px;
        margin: 0 4px;
        border-radius: 50%;
        background-color: var(--accent-color);
        animation: mve_pulse 1.5s infinite ease-in-out;
    }

    .mve_anim_circle:nth-child(2) { animation-delay: 0.2s; }
    .mve_anim_circle:nth-child(3) { animation-delay: 0.4s; }
    .mve_anim_circle:nth-child(4) { animation-delay: 0.6s; }
    .mve_anim_circle:nth-child(5) { animation-delay: 0.8s; }

    @keyframes mve_pulse {
        0%, 100% { transform: scale(0.8); opacity: 0.5; }
        50% { transform: scale(1.2); opacity: 1; }
    }

    /* --- Pomocné třídy a tlačítka - stylizováno jako .io_button --- */
    .mve_button {
        background-color: transparent;
        border: none; /* Odstraněn border, .io_button ho nemá */
        border-radius: 50%;
        width: 32px;
        height: 32px;
        cursor: pointer;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: background-color 0.2s;
        color: var(--icon-color);
    }

    .mve_button:hover {
        background-color: #e9e9e9; /* Nebo var(--secondary-bg-color) pokud chceme tmavý hover */
        color: #111; /* Tmavá ikona na světlém hoveru, stejně jako u .io_button */
    }
    
    .mve_textButton {
        border: 1px solid var(--border-color);
        background-color: var(--secondary-bg-color);
        color: var(--text-color);
        border-radius: 8px;
        padding: 6px 12px;
        cursor: pointer;
        transition: background-color 0.2s;
        font-family: 'Rubik', sans-serif;
    }
    
    .mve_textButton:hover {
         background-color: var(--border-color);
    }
    
    .mve_hidden {
        display: none !important;
    }

    .interuptingElements.disabled {
            pointer-events: none;
            opacity: 0.6;
        }
