﻿/* --------- Alap --------- */
:root {
    --color-bg-default: #f4f6f8;
    --color-bg-darkmode: #304a63;
    --color-text-default: #333;
    --color-text-light: #f4f6f8;
    --color-white: #fff;
    --color-primary: #2c3e50;
    --color-accent: #e95525;
    --color-border-soft: var(--color-gray-350);
    --color-border-soft-2: var(--color-gray-300);
    --shadow-strong: rgba(0, 0, 0, 0.3);
    --color-black: #000;
    --color-gray-100: #f9f9f9;
    --color-gray-150: #f0f0f0;
    --color-gray-200: #ebebeb;
    --color-gray-300: #ddd;
    --color-gray-350: #ccc;
    --color-orange-300: #eb9965;
    --color-orange-400: #f4772c;
    --color-red-500: #d13b28;
    --color-red-600: #d93829;
    --color-green-700: #2e7d32;
    --color-blue-500: #007bff;
    --color-warning-bg: #fff3cd;
    --color-offer-unseen-bg: #fff9e6;
    --color-gradient-white: #ffffff;
    --shadow-soft: rgba(0,0,0,0.15);
    --shadow-medium: rgba(0,0,0,0.2);
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    padding: 0;
    background: var(--color-bg-default);
    color: var(--color-text-default);
    display: flex; /* sidebar + main content */
    min-height: 100%;
    min-width: 100%;
    overflow-x: hidden;
}

body.dark-mode {
    background: var(--color-bg-darkmode);
    color: var(--color-text-light);
}

body.dark-mode h1.cim,
body.dark-mode .company-title,
body.dark-mode .profile-title {
    color: #fff !important;
}

body.dark-mode .companies-list .company-card:not(.company-card-customized) {
    background: #6578aa !important;
}

body.dark-mode .companies-list .company-card:not(.company-card-customized):hover,
body.dark-mode .companies-list .company-card-link:hover .company-card:not(.company-card-customized) {
    background: #495684 !important;
}

body.dark-mode .companies-list .company-card:not(.company-card-customized),
body.dark-mode .companies-list .company-card:not(.company-card-customized) h3,
body.dark-mode .companies-list .company-card:not(.company-card-customized) p,
body.dark-mode .companies-list .company-card:not(.company-card-customized) strong,
body.dark-mode .companies-list .company-card:not(.company-card-customized) .company-public-id,
body.dark-mode .companies-list .company-card:not(.company-card-customized) .company-details p,
body.dark-mode .companies-list .company-card:not(.company-card-customized) .company-employees {
    color: #fff !important;
}

/* DataTables ColVis lenyíló menő dark mode */
body.dark-mode div.dt-button-collection,
body.dark-mode .dt-button-collection {
    background: #304a63 !important;
    border: 1px solid #26254C !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35) !important;
}

body.dark-mode .dt-button-collection .dt-button,
body.dark-mode .dt-button-collection .buttons-columnVisibility {
    background: #304a63 !important;
    color: #fff !important;
    border: none !important;
}

body.dark-mode .dt-button-collection .dt-button:hover,
body.dark-mode .dt-button-collection .buttons-columnVisibility:hover {
    background: #495684 !important;
    color: #fff !important;
}

/* Minden h1 sticky */
h1 {
    top: 0;
    z-index: 10;
    padding: 10px 0;
    margin: 0;
}

/* Minden keresősáv sticky - ha input mező van .search-container-ben */
.search-container {
    position: sticky;
    top: 80px; /* igazítsd a h1 magasságához */
    z-index: 9;
    padding: 10px 0;
}

/* Cégek kártyák grid elrendezés */
.companies-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    justify-items: center;
}

/* --------- Sidebar --------- */
/* Sidebar submenu stílusok (add hozzá a meglévő CSS-hez) */
.sidebar .submenu-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    background: none;
    border: none;
    color: inherit;
    padding: 10px 15px;
    text-align: left;
    cursor: pointer;
    font: inherit;
    border-radius: 6px;
}
.sidebar .submenu-toggle:hover,
.sidebar .submenu-toggle.open {
    background: rgba(255,255,255,0.05);
}
.sidebar .submenu-toggle .chev {
    margin-left: auto;
    transform: rotate(0deg);
    transition: transform 0.18s ease;
    opacity: 0.8;
}
.sidebar .submenu-toggle.open .chev {
    transform: rotate(90deg);
}

/* A submenu maga */
/* Alapértelmezett, flyout zárt állapotban */
.sidebar .submenu {
    position: fixed;
    left: 15%;          /* a sidebar szélessége */
    background: var(--color-accent);
    color: var(--color-white);
    padding: 0;
    margin: 0;
    list-style: none;
    width: 180px;
    box-shadow: 2px 2px 5px var(--shadow-strong);

    transform: translateX(-20px);
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease;
}

.submenu.sidebar-submenu-portal {
    position: fixed;
    left: 15%;
    background: var(--color-accent);
    color: var(--color-white);
    padding: 0;
    margin: 0;
    list-style: none;
    width: 180px;
    box-shadow: 2px 2px 5px var(--shadow-strong);
    transform: translateX(-20px);
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease;
    z-index: 10000200 !important;
}

/* Flyout aktív állapot */
.sidebar .submenu.active,
.submenu.sidebar-submenu-portal.active {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
    z-index: 10000200 !important;
}

/* Flyout linkek */
.sidebar .submenu li a,
.submenu.sidebar-submenu-portal li a {
    display: block;
    padding: 10px;
    color: var(--color-white);
    text-decoration: none;
    z-index: 10000200 !important;
}

.sidebar .submenu li a:hover,
.submenu.sidebar-submenu-portal li a:hover {
    background: #EB9965;
    color: var(--color-white);
}

/* Ha valamiért csak egy adott ikon hibás (például company.png), használhatsz konkrétabb szelektort: */
.sidebar .sidebar-menu img[src$="company.png"] {
    width: 24px !important;
    height: 24px !important;
    object-fit: contain !important;
}

.sidebar {
    width: 15%;
    background: var(--color-primary);
    color: var(--color-white);
    min-height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    z-index: 1000;
    height: 100vh;
    overflow-x: visible;
    overflow-y: auto;
}

.sidebar-menu li {
    padding-right: 10px;
    padding-left: 10px;
}

.sidebar-menu li.active,
.sidebar-logout li.active {
    padding-right: 0;
}

.sidebar-logout li.active {
    margin-right: 0;
}

.sidebar-menu li.active a,
.sidebar-logout li.active a {
    padding-right: 0;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    background-color: var(--color-bg-default);
    color: black !important;
    border-left: 10px solid var(--color-accent);
}

.sidebar .sidebar-menu li.active > .submenu-toggle,
.sidebar .sidebar-menu li.active > .submenu-toggle.open,
.sidebar .sidebar-menu li.active > .submenu-toggle:hover {
    background-color: var(--color-bg-default) !important;
    color: black !important;
    border-left: 10px solid var(--color-accent);
}

.sidebar-header {
    text-align: center;       /* középre igazítás */
    padding: 0;          /* fent-lent térköz */
}

.sidebar-header img {
    width: 100%;             /* logó szélessége */
    height: auto;             /* arányok megtartása */
    display: inline-block;
    margin-bottom: 10px;
}

.sidebar-header h2 {
    text-align: center;
    margin-bottom: 30px;
}

.sidebar-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    flex-grow: 1; /* menő kitölti a rendelkezésre álló helyet */
}

.sidebar-menu li {
    margin: 10px 0;
}

.sidebar-logout li {
    margin: 10px 20px
;

}

.sidebar-menu a {
    color: var(--color-white);
    text-decoration: none;
    padding: 10px 15px;
    display: flex;
    align-items: center;
    border-radius: 6px;
    transition: background 0.3s;
}

.sidebar-logout a {
    color: var(--color-white);
    text-decoration: none;
    padding: 10px 15px;
    display: flex;
    align-items: center;
    border-radius: 6px;
    transition: background 0.3s;
}

.sidebar-menu a img {
    width: 24px;
    margin-right: 10px;
}

.sidebar-logout a img {
    width: 24px;
    margin-right: 10px;
}

.sidebar-menu a:hover {
    background: #E95525;
    color: white;
}

.sidebar-logout a:hover {
    background: #E62235;
    color: white;
}

/* --------- Logout gomb --------- */
.sidebar-logout {
    margin-top: auto; /* mindig alul legyen */
    list-style: none;
    padding: 0;
    margin-bottom: 20px;
}

.logout-btn {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    color: var(--color-white);
    background-color: #E95525;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.3s;
}

.logout-btn img {
    width: 24px;
    margin-right: 10px;
}

.logout-btn:hover {
    background-color: #c53030;
}

/* --------- Main content --------- */
.main-content {
    margin-left: 17vw; /* sidebar szélessége */
    flex-grow: 1;
    box-sizing: border-box;
    max-width: 80%;
}

.main-content > h1{
    font-size: 3rem;
    text-align: left;
    color: #2c3e50;
}

/* --------- Container / Form --------- */

h1, h2 {
    text-align: left;
    color: #2c3e50;
}

/* --------- Gombok --------- */
button {
    background: #F4772C;
    color: var(--color-white);
    border: none;
    padding: 12px 20px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
    transition: background 0.3s;
}

button:hover {
    background: #DB4327;
}

.tab-btn{
    background: var(--color-black);
    color: var(--color-white);
    border: none;
    padding: 2px 5px;
    border-radius: 8px;
    cursor: pointer;
    font-size: .85rem;
    transition: background 0.3s;
}

.tab-btn:hover{
    background: #444;
}

/* --------- Input / Select --------- */
input, select {
    width: 100%;
    padding: 12px;
    /*margin: 8px 0 20px 0;*/
    border-radius: 8px;
    border: 1px solid var(--color-gray-350);
    box-sizing: border-box;
}

/* --------- Flex gombok --------- */
.flex {
    display: flex;
    justify-content: space-between;
}

.flex button {
    width: 70%;
}

.btn-primary, .btn-secondary, .btn-outline-primary{
    margin-top: 20px;
}

/* Only identified buttons with another action beside them lose the default gap. */
:has(> :is(button, a.btn) ~ :is(button, a.btn)) > :is(
    #cargoInquirySendBtn, #cargoInquiryCancelBtn,
    #vehicleModalSave, #vehicleModalCancel,
    #shipmentAdminHelpSubmit, #shipmentAdminHelpCancel,
    #missingCitySubmitBtn, #missingCityCancelBtn,
    #profileDetailsSave, #profileDetailsCancel,
    #save-selected-achievements-btn, #profileAchievementsCancel,
    #profilePasswordSave, #profilePasswordCancel,
    #profileVacationSave, #profileVacationCancel,
    #emailCodeCancel, #emailCodeResend, #emailCodeVerify,
    #fleetLocationSave, #fix-chat-btn, #fix-vehicle-btn,
    #vehicle-select-toggle-btn,
    [id^="fleetEditSave-"], [id^="fleetEditCancel-"]
) {
    margin-top: 0;
}

.modal-header:has(.listing-report-button) {
    flex-wrap: wrap;
    gap: 8px;
}
.modal-header:has(.listing-report-button) > div {
    min-width: 0;
    flex-wrap: wrap;
}
.listing-report-button {
    flex-shrink: 0;
    white-space: normal;
}

/* --------- Register Choice gombok --------- */
.button-group {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 30px;
}

.choice-button {
    flex: 1 1 25%;
    padding: 30px 20px;
    text-decoration: none;
    background: linear-gradient(145deg, #D13B28, #F5782C);
    color: var(--color-white);
    font-size: 1.2rem;
    font-weight: bold;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s, box-shadow 0.3s, background 0.3s;
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
}

.choice-button img {
    max-width: 90px;
    margin-bottom: 15px;
    transition: transform 0.3s;
}

.choice-button:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 25px var(--shadow-strong);
    background: linear-gradient(145deg, #D13B28, #E95525);
}

.choice-button:hover img {
    transform: scale(1.1);
}

/* --------- Alert / Figyelmeztetés --------- */
.alert {
    padding: 12px 16px;
    margin-bottom: 20px;
    border-radius: 6px;
    font-weight: bold;
    text-align: center;
}

.alert-warning {
    background-color: var(--color-warning-bg);
    color: #856404;
    border: 1px solid #ffeeba;
}

.back-button {
    display: inline-block;
    padding: 12px 25px;
    background: #888;
    color: var(--color-white);
    font-weight: bold;
    border-radius: 12px;
    text-decoration: none;
    transition: background 0.3s, transform 0.3s;
}

.back-button:hover {
    background: #666;
    transform: translateY(-3px);
}

#logo{
    font-size: 3rem;
    color:red;
}

/* --------- Password rules --------- */
#password-rules li.valid::before {
    content: "âś” ";
}

#password-rules li.invalid::before {
    content: "âś– ";
}

.profile-container {
    display: flex;
    justify-content: center; /* vízszintesen középre */
    align-items: flex-start; /* felőlről kezdjők az igazítást */
    min-height: calc(100vh - 50px); /* opcionálisan csökkenthetjők */
    margin-left: 20vw;
}

.profile-card {
    background: white;
    border-radius: 15px;
    padding: 50px;
    width: 25vw;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    text-align: center;
}

body.dark-mode .profile-card {
    /*background: #6578aa !important;*/
    background: #495688 !important;
    color: #fff !important;
}

body.dark-mode .profile-card p,
body.dark-mode .profile-card strong,
body.dark-mode .profile-card big,
body.dark-mode .profile-card a,
body.dark-mode .profile-card .profile-info p,
body.dark-mode .profile-card .profile-info h2 {
    color: #fff !important;
}

.profile-image img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 20px;
    border: 3px solid var(--color-gray-300);
}

.profile-info h2 {
    margin-bottom: 10px;
    font-size: 1.5rem;
    color: #333;
}

.profile-info p {
    margin: 5px 0;
    font-size: 1rem;
    color: #333;
}

body.dark-mode .profile-card a,
body.dark-mode .profile-card a:link,
body.dark-mode .profile-card a:visited,
body.dark-mode .profile-card a:hover,
body.dark-mode .profile-card a:active {
    color: #F4772C !important;
}

/* Profil-kártya stílus */
.password-card {
    background: linear-gradient(145deg, var(--color-gradient-white), var(--color-gray-150));
    border-radius: 15px;
    box-shadow: 0 8px 20px var(--shadow-soft);
    max-width: 420px;
    margin: 40px auto;
    padding: 30px;
    font-family: 'Arial', sans-serif;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.password-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px var(--shadow-medium);
}

/* Cím */
.password-card h2 {
    text-align: center;
    margin-bottom: 20px;
    color: #333;
    font-weight: 600;
}

/* Input mezők */
.password-card input[type="password"] {
    width: 100%;
    padding: 12px;
    margin: 10px 0 20px 0;
    border-radius: 8px;
    border: 1px solid var(--color-gray-350);
    font-size: 16px;
    transition: border-color 0.2s ease;
}

.password-card input[type="password"]:focus {
    border-color: #007BFF;
    outline: none;
}

/* Submit gomb â€“ modern, fényes */
.password-card input[type="submit"] {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: none;
    background: linear-gradient(90deg, #007BFF, #00A3FF);
    color: white;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,123,255,0.4);
    transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.password-card input[type="submit"]:hover {
    background: linear-gradient(90deg, #0056b3, #007BFF);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,123,255,0.5);
}

/* Ăśzenetek */
.password-card .message {
    text-align: center;
    color: red;
    margin-bottom: 15px;
}

/* Link vissza a profilhoz */
.password-card p a {
    display: block;
    text-align: center;
    margin-top: 15px;
    color: #007BFF;
    text-decoration: none;
    font-weight: 500;
}

.password-card p a:hover {
    text-decoration: underline;
}

.header-search {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    gap: 20px;
}

.header-search h1 {
    font-size: 3rem;
}

.header-search input {
    margin-top: 35px;
    margin-right: 5vw;
    width: 35vw;
    padding: 10px;
    border-radius: 8px;
    border: 1px solid var(--color-gray-350);
}

.edit-buttons{
    text-align: center;
    padding: 20px;
    /*margin: 15px;*/
    display: grid;
}
.edit-buttons .margin20{
    margin-bottom: 20px;
}

.cargo-container {
    display: flex;
    flex-direction: column;
    /*align-items: center;  !* minden középre keről *!*/
    gap: 20px;            /* form és tábla közti távolság */
    margin: 20px auto;
}

/* Form középre szép kártyában */
.cargo-container form {
    background: var(--color-white);
    padding: 25px 35px;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.1);
    width: 100%;          /* méret szabályozás */
    max-width: 100%;
}

/* Táblázat középre */

.home-container{
    min-width: 100%;
}

.table-wrapper {
    max-width: 100%;
    text-align: center;      /* középre igazítás */
    margin-top: 20px;
    margin-bottom: 20px;
    overflow-x: auto;        /* vízszintes görgetés kicsi képernyőn */
    position: relative;
}

/* Searchbar balra helyezése */
.dataTables_filter {
    text-align: left !important; /* balra */
    float: left !important;       /* alapértelmezett float felőlírása */
    margin-bottom: 10px;          /* opcionális: térköz a táblázat felett */
    margin-left: 10px;          /* opcionális: térköz a táblázat felett */
}

.dataTables_wrapper .dataTables_filter {
    float: left;
    text-align: left;
}

.dataTables_wrapper .dataTables_scroll { margin-right: 20px; margin-left: 20px; }
.dataTables_scroll{ border: 0px solid black; overflow: auto; }
.table-outer { max-width: 100%; }

.table-wrapper .dataTable {
    display: inline-block;   /* text-align mĹ±ködik */
    width: auto !important;  /* ne vegyen 100%-ot a JS miatt */
    min-width: 100%;        /* opcionális minimum szélesség */
    max-width: 100%;
    border-collapse: collapse;
}

.table-wrapper table {
    display: inline-block;   /* text-align mĹ±ködik */
    width: auto !important;  /* ne vegyen 100%-ot a JS miatt */
    min-width: 600px;        /* opcionális minimum szélesség */
    max-width: 100%;
    border-collapse: collapse;
}

.table-container {
    background: var(--color-white);
    padding: 25px 35px;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.1);
    width: 80%;
    max-width: 900px;
}

/* Szép táblázat */
table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

table th, table td {
    border: 1px solid var(--color-gray-300);
    padding: 12px;
    font-size: .75rem;
    /*text-align: center;*/
}

.status-badge, .seen-badge {
  position: absolute;
  right: 10px;
  bottom: 8px;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 10px;
  border: 1px solid; /* színt JS-ben állítjuk */
  color: inherit;     /* színt JS-ben állítjuk */
}

.dataTables_length {
    display: none !important;
}

table th {
    background: #4a90e2;
    color: white;
}

.form-select-sm{
    margin-top: 10px;
}

table tr:nth-child(even) {
    background: var(--color-gray-100);
}

.letet, .hirdeto{
    background-color: #E95525;
}

/*background: linear-gradient(145deg, #D13B28, #E95525);*/

.arujarmu, .felvet{
    background-color: #2c3e50;
    color: white;
}

#shipmentsTable th {
    text-align: center;
    vertical-align: middle; /* főggőlegesen középre */
}

#employee_card{
    text-decoration: none;
    color: inherit;
}

.employee-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}

input.invalid, select.invalid {
  border: 2px solid red;
}

.error {
    border: 2px solid red;
}

.error-msg {
    color: red;
    font-size: 0.9em;
    display: block;
}

.offer-notification {
    position: fixed;
    top: 20px;
    right: 20px;
    background: #4a85bd;
    color: white;
    /*border: 7px dashed black;*/
    border-radius: 8px;
    padding: 10px 15px;
    margin-bottom: 10px;
    z-index: 10000100;
    box-shadow: 0 2px 10px var(--shadow-medium);
    font-family: sans-serif;
    animation: slideIn 0.4s ease-out;
    box-sizing: border-box;
    max-width: calc(100vw - 40px);
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
}

#chat-popup-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 10000100;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-end;
    pointer-events: none;
}

#chat-popup-container .offer-notification {
    position: relative;
    top: auto;
    right: auto;
    pointer-events: auto;
    width: min(360px, calc(100vw - 40px));
    min-width: 0;
    max-width: calc(100vw - 40px);
}

.offer-notification--offer {
    background: linear-gradient(135deg, #ff8a1f, #d95f00);
}

.offer-notification--chat {
    background: linear-gradient(135deg, #2788d9, #095ea8);
}

.offer-notification--status-accepted {
    background: linear-gradient(135deg, #29a85d, #08703b);
}

.offer-notification--status-declined {
    background: linear-gradient(135deg, #e04b46, #a31818);
}

@keyframes slideIn {
    from { opacity: 0; transform: translateX(100%); }
    to { opacity: 1; transform: translateX(0); }
}

.offer-notification a.open-chat,
.offer-notification a.open-general-chat,
.offer-notification a.open-offer-message-chat,
.offer-notification a.open-offer-status-chat {
    display: block;
    color: white;
    text-decoration: none;
    font-weight: bold;
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
    background: transparent !important;
    box-shadow: none !important;
}

.offer-notification div,
.offer-notification span,
.offer-notification b {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
    background: transparent !important;
}

a.open-chat .offer-item{
    display: inline-block;
    margin-left: 10px;
    text-decoration: none;
    font-weight: bold;
    width: 90%;
    color: #3f3f3f;
}

.offer-chat-entry {
    position: relative;
    flex: 0 0 auto;
}

.offer-chat-entry > .open-chat {
    display: block;
}

.offer-chat-entry .offer-item {
    padding-right: 38px !important;
}

.offer-chat-entry .offer-target-summary-link {
    color: #0d6efd !important;
    text-decoration: underline;
    font-weight: 800;
}

.offer-chat-entry .offer-finalized .offer-target-summary-link,
.offer-chat-entry .offer-withdrawn .offer-target-summary-link {
    color: #fff !important;
}

.offer-summary.open-cargo-details-link,
.offer-summary.open-vehicle-details-link {
    cursor: pointer;
}

.offer-summary.open-cargo-details-link:hover,
.offer-summary.open-vehicle-details-link:hover {
    box-shadow: inset 0 0 0 2px rgba(13, 110, 253, 0.22);
}

.offer-chat-delete {
    position: absolute;
    top: 6px;
    right: 7px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0 0 2px;
    border: 1px solid rgba(176, 45, 45, 0.32);
    border-radius: 50%;
    color: #a52222;
    font-size: 18px;
    line-height: 1;
    background: rgba(255, 255, 255, 0.92);
    cursor: pointer;
}

.offer-chat-delete:hover,
.offer-chat-delete:focus-visible {
    border-color: #c42f2f;
    color: #fff;
    background: #c42f2f;
    outline: none;
}

.offer-chat-delete:disabled {
    opacity: 0.5;
    cursor: wait;
}

body.dark-mode #chat-panel .offer-chat-delete {
    border-color: rgba(255, 126, 107, 0.55);
    color: #ffad9f;
    background: rgba(22, 36, 51, 0.92);
}

body.dark-mode #chat-panel .offer-chat-delete:hover,
body.dark-mode #chat-panel .offer-chat-delete:focus-visible {
    color: #fff;
    background: #c74735;
}

.chat-window {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 300px;
    background: var(--color-white);
    border: 1px solid var(--color-gray-350);
    border-radius: 8px;
    box-shadow: 0 2px 10px var(--shadow-medium);
    display: flex;
    flex-direction: column;
    z-index: 10000100;
}

.chat-header {
    background: var(--chat-window-color, #F4772C);
    color: var(--chat-window-text-color, white);
    padding: 8px 12px;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.close-chat {
    background-color: var(--color-white); /* élénk piros */
    color: var(--color-black); /* fehér X */
    border: none;
    border-radius: 50%; /* teljesen kerek */
    width: 24px;
    height: 24px;
    font-weight: bold;
    font-size: 14px;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    padding: 0;
    margin-left: 8px;
    transition: background-color 0.2s;
}

.close-chat:hover {
    background-color: var(--color-black); /* sötétebb piros hover-re */
    color: var(--color-white); /* fekete X hover-re */
}

.chat-field{
    margin: 5px;
}

.chat-messages {
    padding: 10px;
    height: 200px;
    overflow-y: auto;
}

.chat-input {
    display: flex;
    border-top: 1px solid var(--color-gray-350);
}

.chat-input input {
    flex: 1;
    border: none;
    padding: 8px;
}

.chat-input button {
    background: var(--chat-window-color, #F26430);
    border: none;
    color: var(--chat-window-text-color, white);
    padding: 0 15px;
    cursor: pointer;
}

#send_support {
    background: var(--chat-window-color, #F26430);
    color: var(--chat-window-text-color, white);
}

.chat-input .emoji-toggle-btn {
    background: none;
    padding: 0;
}

.chat-input .emoji-picker-wrapper{
    padding: 0;
    margin: 0;
}

.offer-buttons {
    display: flex;
    margin-top: 8px;
    gap: 6px;
    width: 100%;
}

.offer-buttons button {
    flex: 1;
    padding: 6px 10px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: bold;
}

.offer-buttons.two-btns button {
    width: 50%; /* két gombnál 50-50% */
}

.offer-buttons.one-btn button {
    width: 100%; /* egy gombnál teljes szélesség */
    text-align: center;
}

div .mb-3{
    margin-bottom: 20px;
}

.form-control{
    margin-top: 10px;
}

label .form-label{
    margin-bottom: 15px;
}

#accept-offer, #decline-offer{
    padding: 7px;
    margin-top: 7px;
}

.user-menu {
    position: relative;
    cursor: pointer;
}

.user-avatar {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    object-fit: cover;
}

.user-menu .dropdown {
    position: absolute;
    top: 45px;
    right: 0;
    background: white;
    border: 1px solid var(--color-gray-350);
    border-radius: 5px;
    display: none;
    flex-direction: column;
    min-width: 150px;
    box-shadow: 0 2px 6px var(--shadow-soft);
}

.user-menu:hover .dropdown {
    display: flex;
}

.user-menu .dropdown a {
    padding: 10px;
    text-decoration: none;
    color: #333;
}

.user-menu .dropdown a:hover {
    background: var(--color-gray-150);
}

.settings-btn img{
    width: 24px;
}

label img{
    width: 32px;
}

body.freight-form-is-fullscreen {
  overflow: hidden !important;
}

[data-freight-fullscreen] {
  position: relative;
}

.freight-fullscreen-open,
.freight-fullscreen-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 6px;
  background: #0c1f32;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(12, 31, 50, 0.2);
}

.freight-fullscreen-open {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 25;
}

.freight-fullscreen-open:hover,
.freight-fullscreen-close:hover {
  background: #f2762e;
  border-color: #f2762e;
}

.freight-fullscreen-map-panel {
  display: none;
}

[data-freight-fullscreen].freight-form-fullscreen {
  position: fixed !important;
  inset: 0;
  z-index: 20000;
  box-sizing: border-box;
  width: 100vw;
  height: 100vh;
  margin: 0 !important;
  padding: 64px 50vw 24px 24px !important;
  overflow-x: hidden;
  overflow-y: auto;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f4f6f8;
}

[data-freight-fullscreen].freight-form-fullscreen > :not(.freight-fullscreen-open):not(.freight-fullscreen-map-panel) {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

[data-freight-fullscreen].freight-form-fullscreen .freight-fullscreen-open {
  display: none;
}

[data-freight-fullscreen].freight-form-fullscreen .freight-fullscreen-map-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 20010;
  display: block;
  width: 50vw;
  overflow: hidden;
  background: #102430;
}

.freight-fullscreen-map-canvas {
  width: 100%;
  height: 100%;
}

.freight-fullscreen-map-toolbar {
  position: absolute;
  top: 14px;
  right: 14px;
  left: 54px;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  pointer-events: none;
}

.freight-fullscreen-map-title {
  max-width: calc(100% - 58px);
  padding: 9px 12px;
  border-radius: 6px;
  background: rgba(12, 31, 50, 0.9);
  color: #fff;
  font-size: 0.86rem;
  font-weight: 800;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

.freight-fullscreen-close {
  flex: 0 0 38px;
  pointer-events: auto;
}

.freight-fullscreen-map-empty {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 900;
  display: none;
  width: min(320px, calc(100% - 48px));
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  background: rgba(12, 31, 50, 0.92);
  color: #fff;
  line-height: 1.5;
  text-align: center;
  transform: translate(-50%, -50%);
}

.freight-fullscreen-map-empty.is-visible {
  display: block;
}

.freight-route-estimate {
  display: none;
}

[data-freight-fullscreen].freight-form-fullscreen .freight-route-estimate {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  margin: 16px 0 0;
  padding: 14px;
  border: 1px solid #cbd5df;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(12, 31, 50, 0.08);
}

.freight-route-estimate-item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.freight-route-estimate-item span {
  color: #657080;
  font-size: 0.78rem;
  font-weight: 700;
}

.freight-route-estimate-item strong {
  color: #0c1f32;
  font-size: 1.15rem;
}

.freight-route-estimate-status {
  grid-column: 1 / -1;
  margin: 0;
  color: #657080;
  font-size: 0.82rem;
}

body.dark-mode .freight-route-estimate {
  background: #304a63 !important;
  border-color: #6578aa;
}

body.dark-mode .freight-route-estimate-item span,
body.dark-mode .freight-route-estimate-item strong,
body.dark-mode .freight-route-estimate-status {
  color: #fff;
}

.freight-map-marker-shell {
  border: 0;
  background: transparent;
}

.freight-map-marker {
  position: relative;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50% 50% 50% 0;
  background: var(--marker-color);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.28);
  transform: rotate(-45deg);
}

.freight-map-marker b {
  display: block;
  font: inherit;
  transform: rotate(45deg);
}

body.dark-mode [data-freight-fullscreen].freight-form-fullscreen {
  background: #1d1934;
}

@media (max-width: 900px) {
  [data-freight-fullscreen].freight-form-fullscreen {
    padding: 60px 16px 42vh !important;
  }

  [data-freight-fullscreen].freight-form-fullscreen .freight-fullscreen-map-panel {
    top: 58vh;
    width: 100vw;
    height: 42vh;
  }
}

.tooltip {
  position: relative;
  display: inline-block;
  margin-left: 5px; /* kis távolság a kapcsolótól */
}

.tooltip .info-icon {
  width: 16px;
  height: 16px;
  cursor: help;
  opacity: 0.7;
}

.tooltip .info-icon:hover {
  opacity: 1;
}

.tooltip .tooltiptext {
  visibility: hidden;
  width: 220px;
  background-color: #333;
  color: var(--color-white);
  text-align: left;
  border-radius: 5px;
  padding: 8px;
  position: absolute;
  z-index: 100;
  bottom: 125%; /* az ikon fölé helyezkedik */
  left: 50%;
  margin-left: -110px;
  opacity: 0;
  transition: opacity 0.3s;
  font-size: 0.85em;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}

.subscription-btn{
    padding: 6px 10px;
    margin-left: 20px;
    border-radius: 6px;
    font-size: 12px;
}

/* nem látott / új ajánlat vizuális kiemelése a profil oldalon */
.offer-item.unseen {
    background: var(--color-offer-unseen-bg); /* halvány sárga alap */
    border-left: 10px solid #ffbf47;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

/* Toggle alap */
.switch {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  cursor: pointer;
  user-select: none;
}

/* Rejtett checkbox */
.switch input {
  display: none;
}

/* Csúszka */
.slider {
  position: relative;
  width: 50px;
  height: 24px;
  background-color: var(--color-gray-350);
  border-radius: 24px;
  transition: background-color 0.3s;
}

/* A pötty (kör) */
.slider::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background: white;
  border-radius: 50%;
  transition: transform 0.3s;
}

/* Ha be van kapcsolva */
.switch input:checked + .slider {
  background-color: #4caf50;
}

.switch input:checked + .slider::before {
  transform: translateX(26px);
}

#deleteSelected, #republishSelected, #deleteVehicles, #republishVehicles{
    background-color: #2c3e50;
    /*border: black 4px solid;*/
    padding-top: 12px;
}

/* Reszponzív: kisebb képernyőn a keresősáv alá keről */
@media (max-width: 800px) {
    .header-search {
        flex-direction: column;
        align-items: flex-start;
    }

    .header-search input {
        width: 100%;
    }
}

/* --------- Reszponzív --------- */
@media (max-width: 768px) {
    body {
        flex-direction: column;
    }
    .sidebar {
        width: 100%;
        min-height: auto;
        position: relative;
    }
    .main-content {
        margin-left: 0;
        padding: 20px;
    }
    .sidebar-logout {
        margin-bottom: 10px;
    }
}

@media (max-width: 600px) {
    .container, .register-choice-container, form {
        margin: 20px;
        padding: 20px;
    }
    .flex {
        flex-direction: column;
    }
    .flex button {
        width: 100%;
        margin-bottom: 10px;
    }
    .choice-button {
        flex: 1 1 100%;
    }
}

/* Emoji picker alap */
.emoji-picker-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 4px;
}

.emoji-toggle-btn {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
}

.emoji-panel {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 emoji per sor */
  gap: 6px;
  background: var(--color-white);
  border: 1px solid var(--color-gray-350);
  border-radius: 8px;
  box-shadow: 0 3px 10px var(--shadow-soft);
  padding: 8px;
  position: absolute;
  bottom: 40px;
  right: 0;
  z-index: 1000;
  width: 120px; /* kb. 3x 32px + margók */
  transition: opacity 0.1s ease;
}

.emoji-panel img {
  width: 30px;
  height: 30px;
  cursor: pointer;
  transition: transform 0.1s;
}

.emoji-panel .emoji {
    cursor: pointer;
    font-size: 30px;
    padding: 4px;
}

.emoji-panel img:hover {
  transform: scale(1.2);
}

.emoji-inline {
  width: 30px;
  height: 30px;
  vertical-align: middle;
  margin: 0 2px;
}

.emoji-panel.hidden {
  display: none;
}

.hidden {
  display: none !important;
}

/* ===== Floating chat button ===== */
#chat-fab {
    position: fixed;
    bottom: 25px;
    left: 18%;
    width: calc(var(--chat-fab-size-setting, 80) * 1.25px);
    height: calc(var(--chat-fab-size-setting, 80) * 1.25px);
    background: var(--chat-fab-bg-color, var(--color-white));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    cursor: pointer;
    z-index: 10000120;
    box-shadow: 0 4px 12px var(--shadow-strong);
    transition: transform 0.2s ease, background 0.2s ease;
    opacity: 0.7;
    user-select: none;
}

#chat-fab:hover {
    transform: scale(1.05);
    background: #102430;
    opacity: 1;
}

#chat-pic{
    width: calc(var(--chat-fab-size-setting, 80) * 1.5px);
    max-width: 150%;
}

#chat-fab-alert {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #e60023;
    color: #fff;
    border: 2px solid #fff;
    display: none;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 18px;
    line-height: 1;
    box-shadow: 0 0 12px rgba(230, 0, 35, 0.7);
}

#chat-fab-alert.show {
    display: flex;
}

#chat-fab-alert {
    z-index: 10000130;
}

.chat-window,
#chat-popup-container,
.offer-notification {
    z-index: 10000100 !important;
}

#toast-container {
    z-index: 10000140 !important;
}

/* ===== Floating chat panel ===== */
#chat-panel {
    position: fixed;
    bottom: 100px;
    left: 18%;
    width: 380px;
    height: 580px;
    background: var(--chat-window-color, #F2762E);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);
    z-index: 10000110;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
    transition: all 0.25s ease;
}

#chat-panel.open{
    display: flex;
    opacity: 0.76;
    transform: translateY(0);
    pointer-events: auto;
}

#chat-panel.open:hover,
#chat-panel.open:focus-within {
    opacity: 1;
}

/* rejtett állapot */
.chat-hidden {
    display: none;
}

/* fejléc */
.chat-header {
    padding: 12px 16px;
    background: var(--chat-window-color, #F2762E);
    color: var(--chat-window-text-color, var(--color-white));
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* bezárás */
#chat-close {
    cursor: pointer;
    font-size: 18px;
}

/* body */
.chat-body {
    flex: 1;
    padding: 5px;
    background: var(--color-gray-100);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
    min-height: 0;
    height: 100%;
    justify-content: space-between;
}

#chat-list-view {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

#chat-list-view .chat-card {
    min-height: 0;
    height: 100%;
}

#chat-panel .tab-content {
    min-height: 0;
}

#chat-panel #offer-notifications,
#chat-panel #my-offer-notifications {
    min-height: 0;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 6px;
    scrollbar-gutter: stable;
}

#chat-panel #offer-notifications::-webkit-scrollbar,
#chat-panel #my-offer-notifications::-webkit-scrollbar {
    width: 8px;
}

#chat-panel #offer-notifications::-webkit-scrollbar-thumb,
#chat-panel #my-offer-notifications::-webkit-scrollbar-thumb {
    background: rgba(242, 118, 46, 0.48);
    border-radius: 999px;
}

#chat-panel #offer-notifications::-webkit-scrollbar-track,
#chat-panel #my-offer-notifications::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.06);
    border-radius: 999px;
}

.profile-achievements,
.company-achievements-section {
    margin-bottom: 30px;
}

.achievements-row,
.company-achievements-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.achievement-item,
.company-achievement-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.achievement-icon,
.company-achievement-icon {
    width: 50px;
    height: 50px;
    object-fit: contain;
    border-radius: 4px;
    margin-bottom: 4px;
}

.achievement-name,
.company-achievement-name {
    font-weight: bold;
    font-size: 0.85rem;
}

.chat-window {
    opacity: 0.72;
    transition: opacity 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.chat-window:hover,
.chat-window:focus-within {
    opacity: 1;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28);
}

#chat-back {
    background: none;
    border: none;
    color: white;
    font-size: 18px;
    cursor: pointer;
    margin-right: 8px;
}

.tab-btn.active .tab-icon,
.tab-btn:hover .tab-icon {
    filter: brightness(1) invert(0);
}

/* ===== Chat panel dark mode (csak chat panel) ===== */
body.dark-mode #chat-panel,
body.dark-mode .chat-window {
    background: #383F6E !important;
    border: 1px solid #26254C !important;
    box-shadow: 0 10px 28px rgba(0,0,0,0.32) !important;
}

body.dark-mode #chat-panel .chat-header,
body.dark-mode .chat-window .chat-header {
    background: var(--chat-window-color, #26254C) !important;
    color: var(--chat-window-text-color, #fff) !important;
    border-bottom: 1px solid #1D1934 !important;
}

body.dark-mode #chat-panel .chat-body,
body.dark-mode .chat-window .chat-body,
body.dark-mode #chat-panel .chat-card {
    background: #383F6E !important;
    color: #fff !important;
}

body.dark-mode #chat-panel .tab-btn {
    background: #495684 !important;
    color: #fff !important;
    border: 1px solid #26254C !important;
}

body.dark-mode #chat-panel .tab-btn.active {
    background: #6578AA !important;
    border-color: #1D1934 !important;
    box-shadow: 0 0 0 1px #26254C inset;
}

body.dark-mode #chat-panel .chat-messages,
body.dark-mode #chat-panel #offer-notifications,
body.dark-mode #chat-panel #my-offer-notifications,
body.dark-mode #chat-panel #general-chat-notifications,
body.dark-mode #chat-panel #general-chat-results,
body.dark-mode #chat-panel #general-chat-partners,
body.dark-mode #chat-panel #support-messages {
    background: #383F6E !important;
    color: #fff !important;
}

body.dark-mode #chat-panel .offer-item,
body.dark-mode #chat-panel .general-message-item,
body.dark-mode #chat-panel .chat-partner-item,
body.dark-mode #chat-panel .open-general-chat {
    background: #495684 !important;
    color: #fff !important;
    border: none !important;
}

body.dark-mode #chat-panel .offer-item:hover,
body.dark-mode #chat-panel .general-message-item:hover,
body.dark-mode #chat-panel .chat-partner-item:hover,
body.dark-mode #chat-panel .open-general-chat:hover {
    background: #6578AA !important;
}

body.dark-mode #chat-panel #general-chat-results .search-result-item {
    background: #495684 !important;
    color: #fff !important;
    border: 1px solid #26254C !important;
}

body.dark-mode #chat-panel #general-chat-results .search-result-item:hover {
    background: #6578AA !important;
}

body.dark-mode #chat-panel #general-chat-results .result-info,
body.dark-mode #chat-panel #general-chat-results .result-name,
body.dark-mode #chat-panel #general-chat-results .result-company {
    color: #fff !important;
}

body.dark-mode #chat-panel input,
body.dark-mode #chat-panel textarea,
body.dark-mode #chat-panel .chat-field,
body.dark-mode #chat-panel #chat-input-field,
body.dark-mode #chat-panel #general-chat-search {
    background: #495684 !important;
    color: #fff !important;
    border: 1px solid #26254C !important;
}

body.dark-mode #chat-panel input::placeholder,
body.dark-mode #chat-panel textarea::placeholder {
    color: rgba(255,255,255,0.78) !important;
}

body.dark-mode #chat-panel .chat-input button,
body.dark-mode #chat-panel #send_support,
body.dark-mode #chat-panel .emoji-toggle-btn {
    background: var(--chat-window-color, #26254C) !important;
    color: var(--chat-window-text-color, #fff) !important;
    border: 1px solid #1D1934 !important;
}

body.dark-mode #chat-panel .chat-input button:hover,
body.dark-mode #chat-panel #send_support:hover,
body.dark-mode #chat-panel .emoji-toggle-btn:hover {
    background: var(--chat-window-color, #6578AA) !important;
}

body.dark-mode #chat-panel .emoji-panel {
    background: #495684 !important;
    border-color: #26254C !important;
}

body.dark-mode #chat-panel .close-chat {
    background: #495684 !important;
    color: #fff !important;
    border: 1px solid #26254C !important;
}

body.dark-mode #chat-panel #chat-close,
body.dark-mode #chat-panel #chat-back,
body.dark-mode #chat-panel #chat-title {
    color: var(--chat-window-text-color, #fff) !important;
}

body.dark-mode #chat-panel p,
body.dark-mode #chat-panel span,
body.dark-mode #chat-panel strong,
body.dark-mode #chat-panel a {
    color: #fff !important;
}

#chat-panel .chat-partner-company {
    color: #666;
}

body.dark-mode #chat-panel .chat-partner-company {
    color: #fff !important;
}

body.dark-mode #chat-panel .support-badge {
    background: #fff !important;
    border: 1px solid #26254C !important;
    color: #c62828 !important; /* default: piros */
}

body.dark-mode #chat-panel .support-badge.online {
    color: #2e7d32 !important; /* zöld */
}

body.dark-mode #chat-panel .support-badge.offline,
body.dark-mode #chat-panel .support-badge.ai {
    color: #c62828 !important; /* piros */
}

body.dark-mode #chat-panel #support-chat-container,
body.dark-mode #chat-panel .support-chat,
body.dark-mode #chat-panel .support-header {
    background: #383F6E !important;
    color: #fff !important;
}

body.dark-mode #chat-panel #support-ticket-actions {
    background: #383F6E !important;
    border-top: 1px solid #26254C !important;
    border-bottom: 1px solid #26254C !important;
}

body.dark-mode #chat-panel #close-support-ticket-btn {
    background: #b23a48 !important;
    color: #fff !important;
    border: 1px solid #1D1934 !important;
}

body.dark-mode #chat-panel #close-support-ticket-btn:hover {
    background: #D93829 !important;
}

body.dark-mode #chat-panel #support-welcome {
    color: #fff !important;
}

body.dark-mode #chat-panel #support-welcome img {
    background: #495684 !important;
    border: 1px solid #26254C !important;
    box-shadow: 0 10px 24px rgba(0,0,0,0.35) !important;
}

body.dark-mode #chat-panel .support-msg {
    border: 1px solid #26254C !important;
    box-shadow: 0 6px 14px rgba(0,0,0,0.18);
}

body.dark-mode #chat-panel .support-msg.user {
    background: #6578AA !important;
    color: #fff !important;
}

body.dark-mode #chat-panel .support-msg.support {
    background: #495684 !important;
    color: #fff !important;
}

body.dark-mode #chat-panel .support-input {
    background: #383F6E !important;
    border-top: 1px solid #26254C !important;
}

body.dark-mode #chat-panel .support-input input {
    background: #495684 !important;
    color: #fff !important;
    border: 1px solid #26254C !important;
}

body.dark-mode #chat-panel .support-input input::placeholder {
    color: rgba(255,255,255,0.78) !important;
}

body.dark-mode #chat-panel .support-close-wrapper {
    background: #383F6E !important;
    border-top: 1px solid #26254C !important;
}

body.dark-mode #chat-panel .support-close-btn {
    background: #26254C !important;
    color: #fff !important;
    border-color: #1D1934 !important;
}

body.dark-mode #chat-panel .support-close-btn:hover {
    background: #6578AA !important;
}

body.dark-mode #chat-panel .support-ticket-closed {
    background: #495684 !important;
    color: #fff !important;
    border: 1px solid #26254C !important;
}

/* ===== Megnyíló chatablakok (chat-window) dark mode ===== */
body.dark-mode .chat-window {
    background: #383F6E !important;
    border-color: #26254C !important;
}

body.dark-mode .chat-window .chat-header {
    background: #26254C !important;
    color: #fff !important;
}

body.dark-mode .chat-window .chat-body,
body.dark-mode .chat-window .chat-messages {
    background: #383F6E !important;
    color: #fff !important;
}

body.dark-mode .chat-window .msg {
    background: #495684 !important;
    color: #fff !important;
    border: none !important;
}

body.dark-mode .chat-window .msg.own {
    background: #6578AA !important;
    color: #fff !important;
}

/* summary headline / offer summary blokk */
body.dark-mode .chat-window .offer-summary {
    background: #26254C !important;
    color: #fff !important;
    border: 1px solid #1D1934 !important;
}

body.dark-mode .chat-window .offer-summary * {
    color: #fff !important;
}

/* Chat offer kártyák dark mode viselkedés */
body.dark-mode #chat-panel .offer-item {
    border: none !important;
}

body.dark-mode #chat-panel .offer-item.unseen {
    border-left: 8px solid #9ad1ff !important; /* csak bal oldali jelölés */
}

body.dark-mode #chat-panel a,
body.dark-mode #chat-panel a:link,
body.dark-mode #chat-panel a:visited,
body.dark-mode #chat-panel a:hover,
body.dark-mode #chat-panel a:active,
body.dark-mode .chat-window a,
body.dark-mode .chat-window a:link,
body.dark-mode .chat-window a:visited,
body.dark-mode .chat-window a:hover,
body.dark-mode .chat-window a:active {
    color: #F4772C !important;
}

body.dark-mode #chat-panel .offer-finalized {
    background-color: #1f8f5f !important; /* kontrasztos zöld a kék panelhez */
    color: #fff !important;
    border: none !important;
}

body.dark-mode #chat-panel .offer-withdrawn {
    background-color: #b23a48 !important; /* kontrasztos piros a kék panelhez */
    color: #fff !important;
    border: none !important;
}

body.dark-mode #chat-panel .offer-finalized .status-badge,
body.dark-mode #chat-panel .offer-withdrawn .status-badge {
    background: #fff !important;
    border: none !important;
}

body.dark-mode #chat-panel .offer-finalized .status-badge {
    color: #2e7d32 !important;
}

body.dark-mode #chat-panel .offer-withdrawn .status-badge {
    color: #c62828 !important;
}

/* ===== Cargo / Vehicle detail modals dark mode ===== */
body.dark-mode #globalCargoDetailsModal .modal-content,
body.dark-mode #hyperspaceCargoModal .modal-content,
body.dark-mode #cargoModal .modal-content,
body.dark-mode #matchingModal .modal-content,
body.dark-mode #vehicleModal .modal-content {
    background: #304a63 !important;
    color: #fff !important;
}

body.dark-mode #globalCargoDetailsModal,
body.dark-mode #hyperspaceCargoModal,
body.dark-mode #cargoModal,
body.dark-mode #matchingModal,
body.dark-mode #vehicleModal {
    color: #fff !important;
}

body.dark-mode #globalCargoDetailsModal a,
body.dark-mode #globalCargoDetailsModal a:link,
body.dark-mode #globalCargoDetailsModal a:visited,
body.dark-mode #globalCargoDetailsModal a:hover,
body.dark-mode #globalCargoDetailsModal a:active,
body.dark-mode #hyperspaceCargoModal a,
body.dark-mode #hyperspaceCargoModal a:link,
body.dark-mode #hyperspaceCargoModal a:visited,
body.dark-mode #hyperspaceCargoModal a:hover,
body.dark-mode #hyperspaceCargoModal a:active,
body.dark-mode #cargoModal a,
body.dark-mode #cargoModal a:link,
body.dark-mode #cargoModal a:visited,
body.dark-mode #cargoModal a:hover,
body.dark-mode #cargoModal a:active,
body.dark-mode #matchingModal a,
body.dark-mode #matchingModal a:link,
body.dark-mode #matchingModal a:visited,
body.dark-mode #matchingModal a:hover,
body.dark-mode #matchingModal a:active,
body.dark-mode #vehicleModal a,
body.dark-mode #vehicleModal a:link,
body.dark-mode #vehicleModal a:visited,
body.dark-mode #vehicleModal a:hover,
body.dark-mode #vehicleModal a:active {
    color: #F4772C !important;
}

/* User info kártya a detail modalokban */
body.dark-mode #globalCargoDetailsModal .d-flex.align-items-start.mt-3.p-2.border.rounded,
body.dark-mode #hyperspaceCargoModal .d-flex.align-items-start.mt-3.p-2.border.rounded,
body.dark-mode #cargoModal .d-flex.align-items-start.mt-3.p-2.border.rounded,
body.dark-mode #matchingModal .d-flex.align-items-start.mt-3.p-2.border.rounded,
body.dark-mode #vehicleModal .d-flex.align-items-start.mt-3.p-2.border.rounded {
    background: #495688 !important;
    border-color: #495684 !important;
    color: white;
}

/* Inputok maradjanak fehérek */
body.dark-mode #globalCargoDetailsModal input,
body.dark-mode #globalCargoDetailsModal select,
body.dark-mode #globalCargoDetailsModal textarea,
body.dark-mode #hyperspaceCargoModal input,
body.dark-mode #hyperspaceCargoModal select,
body.dark-mode #hyperspaceCargoModal textarea,
body.dark-mode #cargoModal input,
body.dark-mode #cargoModal select,
body.dark-mode #cargoModal textarea,
body.dark-mode #matchingModal input,
body.dark-mode #matchingModal select,
body.dark-mode #matchingModal textarea,
body.dark-mode #vehicleModal input,
body.dark-mode #vehicleModal select,
body.dark-mode #vehicleModal textarea {
    background: #fff !important;
    color: #333 !important;
    border-color: #cfd8e3 !important;
}

/* Listás elemek igazítása a sötét háttérhez */
body.dark-mode #globalCargoDetailsModal .list-group-item,
body.dark-mode #hyperspaceCargoModal .list-group-item,
body.dark-mode #cargoModal .list-group-item,
body.dark-mode #matchingModal .list-group-item,
body.dark-mode #vehicleModal .list-group-item {
    background: #304a63 !important;
    color: #fff !important;
    border-color: rgba(255,255,255,0.2) !important;
}

/* Offer form panelek dark mode-ban */
body.dark-mode #globalCargoDetailsModal #modal-offer-form-panel,
body.dark-mode #globalCargoDetailsModal .offer-form,
body.dark-mode #hyperspaceCargoModal #modal-offer-form-panel,
body.dark-mode #hyperspaceCargoModal .offer-form,
body.dark-mode #cargoModal #modal-offer-form-panel,
body.dark-mode #cargoModal .offer-form,
body.dark-mode #matchingModal #modal-offer-form-panel,
body.dark-mode #matchingModal .offer-form,
body.dark-mode #vehicleModal .offer-form {
    background: #495688 !important;
}

body.dark-mode #globalCargoDetailsModal .offer-specific-text,
body.dark-mode #hyperspaceCargoModal .offer-specific-text {
    color: #fff !important;
    border-color: #fff !important;
}

#globalCargoDetailsModal .cargo-detail-action-row,
#cargoModal .cargo-detail-action-row,
#globalVehicleDetailsModal .cargo-detail-action-row,
#vehicleModal .cargo-detail-action-row {
    align-items: flex-end !important;
}

#globalCargoDetailsModal .cargo-detail-action-btn,
#cargoModal .cargo-detail-action-btn,
#globalVehicleDetailsModal .cargo-detail-action-btn,
#vehicleModal .cargo-detail-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 31px;
    padding: 0.25rem 0.5rem;
    line-height: 1.5;
    white-space: nowrap;
}

#globalCargoDetailsModal .cargo-detail-fav-btn,
#cargoModal .cargo-detail-fav-btn,
#globalVehicleDetailsModal .cargo-detail-fav-btn,
#vehicleModal .cargo-detail-fav-btn {
    background: #f2c230 !important;
    border: 1px solid #111 !important;
    color: #fff !important;
    font-weight: 700;
}

#globalCargoDetailsModal .cargo-detail-fav-btn:hover,
#globalCargoDetailsModal .cargo-detail-fav-btn:focus,
#cargoModal .cargo-detail-fav-btn:hover,
#cargoModal .cargo-detail-fav-btn:focus,
#globalVehicleDetailsModal .cargo-detail-fav-btn:hover,
#globalVehicleDetailsModal .cargo-detail-fav-btn:focus,
#vehicleModal .cargo-detail-fav-btn:hover,
#vehicleModal .cargo-detail-fav-btn:focus {
    background: #dca900 !important;
    border-color: #000 !important;
    color: #fff !important;
}

body.dark-mode #cargoModal .offer-specific-text {
    color: #fff !important;
    border-color: #fff !important;
}

body.dark-mode #matchingModal .offer-specific-text {
    color: #fff !important;
    border-color: #fff !important;
}

body.dark-mode #matchingModal table th,
body.dark-mode #matchingModal table td {
    background: #495688 !important;
    color: #fff !important;
    border-color: #26254C !important;
}

body.dark-mode #matchingModal table tr:nth-child(even) {
    background: #495688 !important;
}

body.dark-mode #matchingModal {
    background: #304a63 !important;
    color: #fff !important;
}

body.dark-mode #matchingModal .modal-dialog,
body.dark-mode #matchingModal .modal-content {
    background: #304a63 !important;
}


.emoji-icon {
  width: 30px;
  height: 30px;
  vertical-align: -0.2em;
}

.offer-item.seen-by-recipient {
  border-left: 0; /* kék sáv */
  background: #e6f0ff; /* halvány kék háttér */
  position: relative;
}

.offer-item.seen-by-recipient::after {
  content: "👁️ Ajánlat megtekintve";
  position: absolute;
  bottom: 6px;
  right: 10px;
  font-size: 0.85em;
  color: #1565c0; /* sötétebb kék */
  font-weight: 600;
}

/* Láttottnak jelölt ajánlat */
.offer-item.seen-by-owner {
  border-left: 0; /* zöld sáv */
  background: #f6fff6;           /* halvány zöld háttér */
  position: relative;
}

.offer-item.seen-by-owner::after {
  position: absolute;
  bottom: 6px;
  right: 10px;
  font-size: 0.85em;
  color: var(--color-green-700);
  font-weight: 600;
}

.msg {
    word-wrap: break-word;       /* hosszú szavak is törhetnek */
    overflow-wrap: anywhere;     /* modern böngészőkben is biztosítja a törést */
}

.search-result-item:hover { background: #eef; }
.user-card:hover { background:#eef; }
.general-message-item { transition: background 0.2s; }
.general-message-item:hover { background:var(--color-gray-150); }

.vehicle-info-box p {
  margin: 4px 0;
  padding: 6px 0;
  border-bottom: 1px solid #e0e0e0;
}
.vehicle-info-box strong {
  color: #333;
}
.vehicle-header-link:hover {
  text-decoration: underline;
}

.offer-item {
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
    border: 5px solid var(--color-white); /* alap keret */
    border-radius: 5px;
    padding: 10px;
    background: var(--color-white);
}
.offer-item.unseen {
  border-left: 4px solid #1976d2;
  background: #eef6ff;
}
.offer-item.seen-by-recipient {
  background: #f6fff6;
}
.offer-status { font-size: 0.9em; margin-top: 3px; }
.offer-item:hover { background:#e9f5ff; transform: translateX(5px); }
.offer-finalized {
  background-color: var(--color-green-700) !important; /* zöld */
  color: white !important;
  border-color: var(--color-green-700) !important;
}
.offer-withdrawn {
  background-color: #c62828 !important; /* piros */
  color: white !important;
  border-color: #c62828 !important;
}
/* A státusz badge is fehér maradjon olvashatóan */
.offer-finalized .status-badge,
.offer-withdrawn .status-badge {
  color: white !important;
  border-color: white !important;
}

.offer-finalized .offer-status,
body.dark-mode #chat-panel .offer-finalized .offer-status {
  color: #effff3 !important;
}

.offer-summary[data-status="finalized"] .offer-status {
  color: green !important;
}

.tab-btn { flex:1; padding:8px; border:none; border-radius:5px; cursor:pointer; background:#eee; color:var(--color-black); transition: background 0.2s; }
.tab-btn.active { background:var(--color-black); color:var(--color-white); }
#incoming-tab.has-unseen-offers {
    outline: 2px solid #f28c28;
    outline-offset: -2px;
    animation: incoming-offer-pulse 1.8s ease-in-out infinite;
}
@keyframes incoming-offer-pulse {
    0%, 100% { box-shadow: inset 0 0 0 0 rgba(242, 140, 40, 0); }
    50% { box-shadow: inset 0 0 18px 4px rgba(242, 140, 40, .75); }
}
@media (prefers-reduced-motion: reduce) {
    #incoming-tab.has-unseen-offers {
        animation: none;
        box-shadow: inset 0 0 12px 2px rgba(242, 140, 40, .55);
    }
}
.tab-btn:hover:not(.active) { background:var(--color-gray-300); }
@media(max-width:768px){.main-flex{flex-direction:column; gap:20px;} .left-column,.right-column{flex:0 0 100%;}.profile-card{position:static; top:auto;}}

.support-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    white-space: nowrap;
}

/* ONLINE  zöld pötty */
.support-badge.online::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2ecc71;
    display: inline-block;
}

/*  AI assisted robot ikon */
.support-badge.ai::before {
    content: "🤖";
    font-size: 14px;
    line-height: 1;
    display: inline-block;
}

@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(46,204,113,0.6); }
    70% { box-shadow: 0 0 0 6px rgba(46,204,113,0); }
    100% { box-shadow: 0 0 0 0 rgba(46,204,113,0); }
}

.support-badge.online::before {
    animation: pulse 1.5s infinite;
}

@keyframes ai-breathe {
    0%   { transform: scale(1);   opacity: 0.8; }
    50%  { transform: scale(1.3); opacity: 1; }
    100% { transform: scale(1);   opacity: 0.8; }
}

.support-badge.ai::before {
    animation: ai-breathe 2.2s ease-in-out infinite;
}

.support-chat {
    display: flex;
    flex-direction: column;
}

.support-input{
    display: flex;
    margin-top: 5px;
    gap: 10px;
    position: sticky;
    bottom: 0;
}

.support-input input{
    max-width: 70%;
}

.support-msg {
    max-width: 75%;
    padding: 8px 12px;
    border-radius: 10px;
    font-size: 14px;
    word-wrap: break-word;
}

.support-msg.user {
    align-self: flex-end;
    background: #102430;
    color: var(--color-white);
}

.support-msg.support {
    align-self: flex-start;
    background: var(--color-white);
    border: 1px solid var(--color-gray-300);
}

.support-msg.typing {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 54px;
    min-height: 34px;
}

.support-typing-dot {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #f2762e;
    opacity: 0.35;
    animation: supportTypingBlink 1s infinite ease-in-out;
}

.support-typing-dot:nth-child(2) {
    animation-delay: 0.16s;
}

.support-typing-dot:nth-child(3) {
    animation-delay: 0.32s;
}

@keyframes supportTypingBlink {
    0%, 80%, 100% {
        transform: translateY(0);
        opacity: 0.35;
    }
    40% {
        transform: translateY(-3px);
        opacity: 1;
    }
}

.support-close-wrapper {
    display: flex;
    justify-content: center;
    padding: 6px 0;
    background: var(--color-gray-100);
}

.support-close-btn {
    font-size: 12px;
    padding: 6px 14px;
    border-radius: 20px;
    border: 1px solid #D93829;
    background: transparent;
    color: #D93829;
    cursor: pointer;
    transition: all 0.2s ease;
}

.support-close-btn:hover {
    background: #D93829;
    color: var(--color-white);
}

.support-ticket-closed {
    text-align: center;
    color: #777;
    margin-top: 20px;
    padding: 10px 12px;
    border-radius: 8px;
}

#vehiclesTable_info {
    margin-left: 10px;
}

.modal-header{
    padding: 0.5rem 0.5rem .5rem .5rem;
}

.row{
    padding-top: .5rem;
}

.support-input {
    display: flex;
    gap: 8px;
    padding: 10px 10px 0 10px;
    border-top: 1px solid var(--color-gray-300);
    flex-shrink: 0;   /* ⬅️ KRITIKUS */
}

.collapsible-header {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    user-select: none;
}

.toggle-icon {
    font-size: 14px;
    transition: transform 0.25s ease;
}

.collapsible-content {
    overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.2s ease;
}

.collapsible-content.closed {
    max-height: 0;
    opacity: 0;
}

.collapsible-content.open {
    opacity: 1;
}

.collapsible-header.closed .toggle-icon {
    transform: rotate(-90deg);
}

.status-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 11px;
    user-select: none;
}

.status-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-bottom: 2px;
    transition: all 0.2s ease;
}

.status-dot.active {
    background-color: #2ecc71; /* zöld */
    box-shadow: 0 0 6px rgba(46, 204, 113, 0.6);
}

.status-dot.inactive {
    background-color: #e74c3c; /* piros */
    box-shadow: 0 0 6px rgba(231, 76, 60, 0.6);
}

.permanent-vehicle-row.inactive-row {
    opacity: 0.55;
}

.banner{
    width:100%;
}

.cim{
    font-size: 72px;
}

.rakomany-container{
    display:flex;
    width:110%;
    min-height:200px;
    background: #2c3e50;
    color: white;
    margin-left: -3%;
}

.company-container{
    display:flex;
    width:100%;
    margin-left: -3%;
    padding-left: 20px;
    padding-bottom: 10px;
    width: 108%;
    margin-bottom: 10px;
}

.company-container h1{
    background: rgb(204, 255, 255, 0);
    font-size : 64px;
}

.company-container .search-container{
    background: none;
}

.rakomany-container h1{
    background: #2c3e50;
    color: white;
}

/* BAL OLDAL */
.rakomany-left{
    width:50%;
    display:flex;
    flex-direction:column;
    justify-content:space-evenly;
    padding:20px 10px 20px 0;
}

/* BAL OLDAL */
.company-left{
    width:25%;
    display:flex;
    flex-direction:column;
    justify-content: flex-end;
    padding:20px 10px 20px 0;
}

.rakomany-left button{
    margin-left: 20px;
}

/* JOBB OLDAL */
.rakomany-right{
    width:150%;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:20px;
    margin-right:3%;
}

.rakomany-right img{
    margin-bottom:20px;
    margin-right:20px;
    max-width:100%;
    height:auto;
}

/* JOBB OLDAL */
.company-right{
    width:150%;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:20px;
    margin-right:3%;
}

.company-right img{
    margin-bottom: 20px;
}

.whispy-hover {
    position: relative;
    width: 100%;
    margin-top: 10px;
}

.whispy-hover img {
    width: 100%;
    border-radius: 6px;
    display: block;
}

.whispy-wink {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

.whispy-hover:hover .whispy-wink {
    opacity: 1;
}

.whispy-hover:hover .whispy-normal {
    opacity: 0;
}

.vehicle-offer-cargo-btn, .cargo-offer-cargo-btn{
    color: white;
    margin-top: 20px;
    background: var(--color-orange-400);
    border: 1px solid black;
    font-weight: bold;
    margin-top: 16px;
}

#fix-cargo-btn{
    margin: 0;
}

#fix-vehicle-btn{
    margin: 0;
}

#fix-chat-btn{
    margin: 0;
}

.vehicle-offer-cargo-btn:hover, .cargo-offer-cargo-btn:hover{
    color: white;
    background: #e95525;
}

.open-general-chat{
    color: white;
    background: #2c3e50;
    border: 1px solid black;
    font-weight: bold;
    /*margin-top: 16px;*/
    height: 30px;
}

.open-general-chat:hover{
    background-color: #0c1f32;
    color: white;
}

.mb-2 label.form-label{
    color: white;
}

.chat-vacation-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 5px;
    font-size: 0.95em;
    line-height: 1;
    vertical-align: middle;
}

.chat-vacation-icon--list {
    font-size: 0.9em;
}

.chat-window.chat-partner-vacation,
.chat-partner-vacation-bg {
    position: relative;
}

.chat-window.chat-partner-vacation .chat-body,
.chat-partner-vacation-bg {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.82)),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170' viewBox='0 0 170 170'%3E%3Ctext x='85' y='104' text-anchor='middle' font-size='88' opacity='.22'%3E%F0%9F%8F%96%EF%B8%8F%3C/text%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 150px 150px;
}

body.dark-mode .chat-window.chat-partner-vacation .chat-body,
body.dark-mode .chat-partner-vacation-bg {
    background-image:
        linear-gradient(rgba(17, 24, 39, 0.80), rgba(17, 24, 39, 0.80)),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170' viewBox='0 0 170 170'%3E%3Ctext x='85' y='104' text-anchor='middle' font-size='88' opacity='.26'%3E%F0%9F%8F%96%EF%B8%8F%3C/text%3E%3C/svg%3E");
}

.chat-image-send-btn {
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    padding: 4px 5px;
    margin-left: 2px;
}

.support-image-help {
    position: relative;
}

.support-image-help::after {
    content: attr(data-help);
    position: absolute;
    right: 0;
    bottom: calc(100% + 10px);
    width: 260px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #102430;
    color: #fff;
    font-size: 12px;
    line-height: 1.35;
    text-align: left;
    box-shadow: 0 8px 20px rgba(0,0,0,.22);
    opacity: 0;
    visibility: hidden;
    transform: translateY(4px);
    transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
    pointer-events: none;
    z-index: 1000;
}

.support-image-help:hover::after,
.support-image-help:focus-visible::after {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.chat-image-thumb-btn {
    display: inline-block;
    border: 0;
    padding: 0;
    margin-top: 4px;
    background: transparent;
    cursor: zoom-in;
    max-width: 100%;
}

.chat-image-thumb {
    display: block;
    max-width: 150px;
    max-height: 110px;
    border-radius: 8px;
    object-fit: cover;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.chat-image-viewer.hidden {
    display: none;
}

.chat-image-viewer {
    position: fixed;
    inset: 0;
    z-index: 10000150;
    display: flex;
    align-items: center;
    justify-content: center;
}

.chat-image-viewer-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.74);
}

.chat-image-viewer-content {
    position: relative;
    z-index: 1;
    width: min(92vw, 1200px);
    height: min(90vh, 900px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.chat-image-viewer-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(0,0,0,0.35);
}

.chat-image-viewer-close {
    position: absolute;
    top: -14px;
    right: -14px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 0;
    background: #fff;
    color: #111;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}
