:root {
    --bs-primary: #e6057f!important;
    --bs-primary-contrast: #ffffff!important;
}


.avatar {
    background-color: rgba(221, 0, 121, 0.16);
    border-radius: 100%;
    color: #e6057f;
    display: flex;
    align-items: center;
    font-size: 25px;
    text-align: center;
    font-weight: 700;
    justify-content: center;
    transition: all 0.2s ease-in-out;
}

a > .avatar:hover {
    background-color: #e6057f;
    color: white;
}

.menu-vertical .app-brand img {
    height: 111px;
}

.layout-menu-collapsed .menu-vertical .app-brand,
.layout-menu-collapsed .menu-vertical .app-brand .app-brand-logo {
    transition: all 0.3s ease-in-out;
}

.layout-menu-collapsed:not(.layout-menu-hover) .menu-vertical .app-brand {
    padding-left: 0;
}

.layout-menu-collapsed:not(.layout-menu-hover)
    .menu-vertical
    .app-brand
    .app-brand-logo {
    max-width: 59px;
}

.nav-align-top .nav-tabs {
    /*border-bottom: none !important;*/
}

.nav-align-top .nav-tabs .nav-link {
    border: none !important;
    /*border-bottom: 2px solid #dee2e6 !important;*/
    border-radius: 0;
    color: #555;
}

.nav-align-top .nav-link.active {
    border: 1px solid #e4e6e8 !important;
    border-bottom: none !important;
    border-radius: 3px;
    font-weight: bold;
    position: relative;
}

.nav-align-top .nav-link.active:after {
    position: absolute;
    height: 2px;
    content: "";
    background: white;
    bottom: -1px;
    left: 1px;
    right: 1px;
    z-index: 5;
}

table.dataTable tr.dt-hasChild td.dt-control::before {
    border-top: 0 !important;
}

.col-form-label {
    white-space: wrap !important;
}

.fixed-bottom {
    bottom: 0 !important;
    top: auto !important;
    margin-bottom: 1rem !important;
}

.with-fixed-bottom-navbar:after {
    content: "";
    height: 80px;
}
.color-formlabel {
    color: #384551;
}
.modal .nav-scroll {
    overflow-x: auto;
}

#dataTable_filter {
    /*display: none;*/
}

#advanced-search {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 15px;
    /*max-width: 800px;*/
    margin: 20px;
}

#advanced-search label {
    /*font-weight: bold;*/
    display: block;
    margin-bottom: 5px;
}

#advanced-search input {
    padding: 0 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    width: 100%;
}

#advanced-search #clear-filters {
    grid-column-start: 1;
}

.label {
    display: inline-block;
    background-color: #FDAA48;
    color: #ffffff;
    padding: 8px 16px;
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 1.2;
    border-radius: 4px;
    text-align: center;
    white-space: nowrap;
}

.label-pink {
    background-color: rgba(221, 0, 121,0.16);
    color:#e6057f;
}

.bg-label-pink {
    background-color: rgba(221, 0, 121, 0.16) !important;
    color: #e6057f;
}

.vyrazeny td{
    color: rgba(100, 110, 120, 0.5) !important;
}

.small-input {
    width: 100%;
    padding: 10px;
    border-radius: 4px;
}

.search-label {
    /*font-weight: bold;*/
    margin-top: 10px;
    display: block;
}

.dataTables_scrollBody table {
    width: auto;
    white-space: nowrap;
}

.dataTables_scrollHead th,
.dataTables_scrollBody td {
    min-width: 150px !important; /* Nastavte šířku sloupců */
}

#top-scroll {
    width: 100%;
    overflow-x: auto; /* Povolit horizontální posuvník */
    height: 20px; /* Výška divu, aby se scrollbar zobrazil */
    background: #f5f5f5; /* Jemný podklad pro viditelnost */
    margin-bottom: 5px; /* Mezera mezi horním scrollbarem a tabulkou */
}

#top-scroll-inner {
    width: 100%; /* Dynamicky se přizpůsobí */
    height: 1px; /* Neviditelný, jen kvůli scrollování */
}

.rowhighlight > td {
    background-color: #e6fce0 !important;
}

.dropdown-menu {
    position: absolute;
    background-color: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    z-index: 9999;
    padding: 0.5rem;
    min-width: 150px;rgb(103, 105, 102);
    display: none;
}

.dropdown-menu .dropdown-item {
    padding: 0.5rem 1rem;
    color: #333;
    text-decoration: none;
}

.dropdown-menu .dropdown-item:hover {
    color: #e6057f;
    background-color: #f8f9fa;
}

.custom-menu-inner {
    align-items: center !important;
}

.custom-menu-link {
    width: 50px;
}

.custom-menu-link:hover {
    color: #697a8d !important;
    background-color: rgba(221, 0, 121, 0.16) !important;
    border-radius: 5px;
}

 #tooltip {     
    position: fixed;
    padding: 0.5em;
    background: rgba(133, 146, 163, 1);
    color: white;
    border-radius: 0.25em;
    font-size: 0.875em;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s;
    white-space: nowrap;
    z-index: 100;
}
#tooltip.visible {
    opacity: 1;
}

.bs-tooltip-bottom .tooltip-arrow::before
{
    bottom:-7px!important;
}

.bs-tooltip-top .tooltip-arrow::before
{
    top:-7px!important;
}

.bs-tooltip-end .tooltip-arrow::before
{
    right:-7px!important;
}

.alert-success {
    color: rgb(15, 81, 50) !important;
}

input[type="checkbox"].readonly {
  pointer-events: none;   /
  opacity: 0.5;
  cursor: default;
}

/*** Pills ***/
.pills {
    display:flex; 
    gap:.5rem; 
    flex-wrap:wrap; 
}

.pill-label { 
    position:relative; 
    display:inline-flex; 
    align-items:center; 
}

.pill-input { 
    position:absolute; 
    left:-9999px; 
    top:auto; 
    width:1px; 
    height:1px; 
    overflow:hidden; 
  }

.pill {
    display:inline-block; 
    padding:.5rem .85rem; 
    border:1px solid var(--br); 
    border-radius:999px;
    cursor:pointer; 
    user-select:none; 
    transition:box-shadow .15s, border-color .15s;
  }

/* aktivní stav */
.pill-input:checked + .pill {
    border-color:#111; 
    box-shadow:0 0 0 2px inset rgba(0,0,0,.6); 
}
/* klávesnicové focusy zůstávají na labelu díky :focus-visible na inputu */
.pill-input:focus-visible + .pill { 
    outline:3px solid #0ea5e9; 
    outline-offset:2px; 
}

/* volitelné: zakázaná položka */
.pill-input:disabled + .pill { 
    opacity:.5; 
    cursor:not-allowed;
}

@media (max-width: 1600px) {
    .dataTables_wrapper {
        overflow-x: auto;
    }
}

@media (max-width: 767px) {
    html:not([dir="rtl"]) .dataTables_wrapper .card-header .dt-action-buttons {
        text-align: center !important;
    }
    .call-email-form .btn {
        margin-top: 0 !important;
    }
    .call-email-form input {
        width: 100%;
        margin-bottom: 15px;
    }
    #advanced-search {
        grid-template-columns: 1fr;
    }
}

.red-dot {
    background-color: #e6057f;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    display: inline-block;
    font-size: 9px;
    line-height: 16px;
    text-align: center;
    color: white;
    animation: blinker 1s linear infinite;
}

.text-bg-pink
{
    background-color: #e6057f;
}

.alert.alert-pink
{
    color: #e6057f;
    border-color: #e6057f;
    background-color: #e6057f0d;
}

.card.card-border-shadow-pink::after {
    border-bottom-color: #e6057f;
}

#notification-toasts-container
{
    max-height:100vh;
    overflow-y: auto;
    padding-bottom:100px!important;
    padding-top:100px!important;
    z-index: 11;
}

#notification-toasts-container .toast-header {
    color: #e6057f;
    font-weight:700;
}

#notification-toasts-container .btn-close
{
    border-color: #e6057f;
    color: #e6057f;
    --bs-btn-close-color:#e6057f;
}

#notification-toasts-container .dropdown-notifications-item
{
    /*color: #e6057f;*/
    border-color: #e6057f;
    /*border:1px solid #e6057f;*/
    background-color: #e6057f0d;
    background-color: #ffffff;
    --bs-toast-box-shadow: 0 0.5rem 0.5rem 0 rgba(34, 48, 62, 0.1);
}

@keyframes blinker {
    50% {
        opacity: 0.2;
    }
}

.nav-tabs .red-dot {
    position: absolute;
    right: 5px;
    top: 5px;
}

.nav-tabs > li {
    position: relative;
}

.report-list .report-list-item {
    background-color:#e6057f0d;
    padding-block:.75rem;
    padding-inline:1rem
}
.report-list .report-list-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    background-color:white;
    min-block-size:40px;
    min-inline-size:40px;
    border-radius:.375rem;
    color:#e6057f;
}

#carouselIntro .carousel-indicators
{
    left:auto;
    right:0;
    bottom:0;
    top:0;
    margin:10px 10px 10px 0;
    flex-flow: column;
    justify-content: center;
}

#carouselIntro .carousel-indicators [data-bs-target]
{
    height:10px;
    width:10px;
    border-radius: 10px;
    margin: 5px 0 5px 0;
    background:#e6057f;
    padding:0;
    border:0;
    opacity:0.3;
}

#carouselIntro .carousel-indicators .active
{
    opacity:1;
}

#sortable>div>.card
{
    position: relative;
}

#sortable>div>.card:before
{
    display: block;
    opacity:0.2;
    width:10px;
    height:10px;
    content:'';
    position: absolute;
    right:10px;
    top:10px;
    background: url("../images/move.svg");
    background-size: contain;
    animation: blink 2s infinite;
}

#sortable>div>.card:hover:before
{
    opacity:0.7;
    animation: none;
}

.warning {
    color: red;             /* Barva vykřičníku */
    font-size: 20px;        /* Velikost */
    font-weight: bold;      /* Tučný text */
    animation: blink 2s linear infinite !important;
}

@keyframes blink {
    0%, 50%, 100% { opacity: 1; }
    25%, 75% { opacity: 0; }
}

.warning-date {
    color: red;
    margin-left: 6px;
    font-size: 20px;
    position: relative;
    cursor: help;
}

/* Tooltip */
.warning-date::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 125%; /* zobrazí tooltip nad ikonou */
    left: 50%;
    transform: translateX(-50%);
    background-color: #333;
    color: #fff;
    padding: 5px 8px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease-in-out;
    z-index: 10;
}

/* Zobrazení tooltipu při najetí myší */
.warning-date:hover::after {
    opacity: 1;
}

/************** kalendar *****************/

.calendar {
    display: flex;
    flex-flow: column;
}
.calendar .header .month-year {
    font-size: 20px;
    font-weight: bold;
    color: black;
    padding: 20px 0;
}
.calendar .days {
    display: flex;
    flex-flow: wrap;
    min-width:999px;
}
.calendar .days .day_name {
    width: calc(100% / 7);
    border-right: 1px solid #004779;
    padding: 20px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: bold;
    color: #818589;
    color: #fff;
    background-color: #004779;
}
.calendar .days .day_name:nth-child(7) {
    border: none;
}
.calendar .days .day_num {
    display: flex;
    flex-flow: column;
    width: calc(100% / 7);
    border-right: 1px solid #e6e9ea;
    border-bottom: 1px solid #e6e9ea;
    padding: 15px;
    font-weight: bold;
    color: #7c878d;
    cursor: pointer;
    min-height: 100px;
}
.calendar .days .day_num span {
    display: inline-flex;
    width: 30px;
    font-size: 14px;
}
.calendar .days .day_num .event {
    margin-top: 10px;
    font-weight: 500;
    font-size: 14px;
    padding:0;
    border-radius: 4px;
    background-color: #f7c30d;
    color: #fff;
    word-wrap: break-word;
}
.calendar .days .day_num .event a
{
    display:block;
    text-decoration:none;
    padding: 3px 6px;
    text-decoration:none;
    color:white;
    border-radius:4px;
}
.calendar .days .day_num .event a:hover
{
    background-color:black;
}

.calendar .days .day_num .event.green {
    background-color: #51ce57;
}
.calendar .days .day_num .event.blue {
    background-color: #518fce;
}
.calendar .days .day_num .event.red {
    background-color: #ce5151;
}
.calendar .days .day_num:nth-child(7n+1) {
    border-left: 1px solid #e6e9ea;
}
.calendar .days .day_num:hover {
    background-color: #fdfdfd;
}
.calendar .days .day_num.ignore {
    background-color: #fdfdfd;
    color: #ced2d4;
    cursor: inherit;
}
.calendar .days .day_num.selected {
    background-color: #f1f2f3;
    cursor: inherit;
}

#calendar .fc-event
{
    border:1px solid;
    display: block;
}

#calendar .fc-event.not-planed
{
    opacity:0.5;
    border:0;
}

#calendar .calendar-car-badge
{
    font-size: .625rem!important;
    background-color: #eeedf0!important;
    border: 2px solid #fff!important;
    line-height: .825rem!important;
    /*position: absolute;
    right: -5px;bottom: -10px;*/
    margin-bottom:-10px;
}

#calendar .calendar-car-badge>.bx
{
    font-size: .825rem!important;
}

.status-0:before{
    font-family: "boxicons" !important;
    content:"";
}

.status-1:before{
    font-family: "boxicons" !important;
    content:"";
}

.status-2:before{
    font-family: "boxicons" !important;
    content:"";
}

.status-3:before{
    font-family: "boxicons" !important;
    content:"";
}

.fc-event.bg-label-gray:before{
    font-family: "boxicons" !important;
    content:"";
}

.fc-today-button[disabled]
{
    opacity:0.2!important;
}

.fc-today-button[disabled]:hover
{
    color:inherit!important;
}

#eventModal .nav-tabs
{
    overflow-x: auto;
    overflow-y: hidden;
}

.nav-align-top .nav-tabs
{
    overflow-x:auto ;
    overflow-y: hidden;
}

.dz-image img
{
    width:100%;
    height:100%;
    object-fit: cover;
}

#fotos-list
{
    list-style-type: none;
    padding:0;
    margin-left:-10px;
    margin-right:-10px;
    flex-wrap: wrap;
}

#fotos-list li
{
    padding:10px;
}

/* user profile img */
.user-profile-img-container {
  position: relative;
  display: inline-block;
  cursor: pointer;
  width: 120px;
  height: 120px;
  margin-left: 25px;
}

.user-profile-img-container input[type="file"] {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 1;
}

.user-profile-img {
  width: 100%;
  height: 100%;
  font-size: 50px;
  color: white;
  text-align: center;
  line-height: 120px;
  background: rgba(221, 0, 121, 0.16);
  border: 5px solid white;
  object-fit: cover;
  border-radius: 0.5rem;
}

.change-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  opacity: 0;
  transition: opacity 0.2s ease;
  border-radius: inherit;
  pointer-events: none; /* overlay snižuje riziko “chytání” */
}

.user-profile-img-container:hover .change-overlay {
  opacity: 1;
}

.save-button {
  position: absolute;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border: none;
  border-radius: 0.25rem;
  background-color: rgba(33, 37, 41, 0.8);
  color: #fff;
  cursor: pointer;
  transition: background-color 0.2s;
  z-index: 5;
}

.save-button:hover {
  background-color: rgba(33, 37, 41, 1);
}

.location-container {
    display: flex;
    align-items: center;
    gap: 6px;
}

.geo-icon {
    cursor: pointer;
    font-size: 20px;
    color: #0078d7 !important;
    transition: color 0.2s;
}

.geo-icon:hover {
    color: #005bb5;
}

@media(max-width:768px)
{
    .calendar-sidebar-technik.app-calendar-sidebar {
        overflow:hidden;
        max-height:0;
        transition: all 0.3s ease-in-out;
    }
    .calendar-sidebar-technik.app-calendar-sidebar.show {
        height: auto;
        max-height:800px;
    }
}

.app-calendar-technics-filter {
    max-height: 330px;
    overflow-y: auto;
}


.select2-container .select2-dropdown, .flatpickr-calendar.open
{
    background-color: white;
}

.flatpickr-input.form-control[readonly]
{
    background:white;
}

/************** menu on hover *****************/
.menu-sub-hover {
  display: none;
  background-color: white;
  width: 100%;
  padding: 0;
  padding-left: 2rem;
  margin: 0.125rem 0;
  list-style: none;
}

.menu-item:hover > .menu-sub-hover {
  display: block;
}

/************** křížek v inputu *****************/
.input-with-clear {
    position: relative;
}

.input-with-clear .form-control {
  padding-right: 2.5rem; /* dostatečný prostor pro ikonu */
}

.input-with-clear .clear-icon {
    position: absolute;
    top: 50%;
    right: 80px; /* odsazení od pravého kraje */
    transform: translateY(-50%);
    font-size: 1rem;
    color: #6c757d; /* šedá barva ikony */
    cursor: pointer;
    user-select: none;
    display: none; /* skryjeme, dokud není text */
    z-index: 200;
}

.input-with-clear input:not(:placeholder-shown) + .clear-icon {
    /* Ikona se zobrazí, pokud pole není prázdné a není zobrazen placeholder */
    display: block;
}

.tooltipevent
{
    border:1px solid;
    background:inherit;
    left:0px;
    top:100%;
    padding:10px;
    width:auto;
    right:-100%;
    height:auto;
    position:absolute;
    z-index:10001;
    white-space: wrap;
    transition: all 0.2s ease-in-out;
    max-width:200px;
    color:black;
    display: none;
}

.fc-daygrid-event-harness .tooltipevent
{
    display:block;
}


#addEventSidebar .dropzone .dz-preview .dz-image
{
    width:100px;
    height:100px;
}

dialog.shepherd-element, dialog.shepherd-element>.shepherd-arrow:before
{
    background: white;
}

.shepherd-footer {
    align-items: center;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    display: flex;
    justify-content: space-between;
    padding: 0 0.75rem 0.75rem;

    .shepherd-button:last-child {
        margin-right: 0;
    }

    .shepherd-progress {
        font-size: 0.8rem;
        width:100%;
        order: -1;
    }
}

.fc-event {
  position: relative;
  overflow: visible; /* aby se neusekl dashed rámeček za hranou eventu */
}

.fc-event.finded:after
{
    display: block;
    content: '';
    position: absolute;
    left:-10px;
    top:-10px;
    right:-10px;
    bottom:-10px;
    border:3px dashed #e6007f;
    border-radius:3px;
    animation: blinking 1s infinite linear;
    opacity:1;
}

/* Zelená fajfka v inputu */
.status-icon {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    pointer-events: none;
}

.valid {
    border: 2px solid green;
}

.invalid {
    border: 2px solid red;
}

/* Barcode scanner */
.barcode-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
}

.barcode-wrapper input {
    width: 100%;
    padding-right: 40px; /* rezerva pro ikonu */
    box-sizing: border-box;
}

.barcode-wrapper .scan-icon {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #555;
    font-size: 20px;
}

#scanPreview {
    display: none;
    margin-top: 10px;
    width: 500px;
    max-width: 100%;
  }

@keyframes blinking {
    0% {
        opacity:1;
    }
    35% {
        opacity:0.1;
    }
    65% {
        opacity:0.1;
    }
    100% {
        opacity:1;
    }
}

@keyframes bell-ring {
    0% { transform: rotate(0deg); }
    15% { transform: rotate(-15deg); }
    30% { transform: rotate(15deg); }
    45% { transform: rotate(-10deg); }
    60% { transform: rotate(10deg); }
    75% { transform: rotate(-5deg); }
    90% { transform: rotate(5deg); }
    100% { transform: rotate(0deg); }
}

.bell-ring {
    animation: bell-ring 1s ease-in-out;
    transform-origin: top center;
}

#notifications-count
{
    top: -3px;
    right: -10px;
}

.dropzone-file-link
{
    position: absolute;
    top: 0;
    z-index: 1000;
    left: 0;
    right: 0;
    text-align: center;
    height: 126px;
    opacity:0;
    align-content: center;
    padding-bottom: 40px;
}

.dropzone-file-link:hover
{
    opacity:1;
    background:rgba(255,255,255,0.5);
}

.select2
{
    border-radius:var(--bs-border-radius);
    border:1px solid #aaa;
}

.blinking
{
    animation: blinker 1s infinite;
}

.blinking-icon {
    width: 20px;
    height: 20px;
    background-color: #e6057f;
    border-radius: 50%;
    display: inline-block;
    animation: blinker 1s infinite;
    color:white;
    position:relative;
    text-align:center;
}

.blinking-icon:before
{
    font-family: "boxicons" !important;
    content: "";
    font-size: 20px;
    line-height: 20px;
}

.divider-center {
  display: flex;
  align-items: center;  
  justify-content: center;
  width: 100%;
  border-bottom: 1px solid #ccc; /* čára */
  margin: 2rem 0;
}

.divider-center .divider-text {
  background: #fff; /* barva pozadí – přizpůsobte */
  padding: 0 1rem;
  position: relative;
  top: 0.1rem; /* jemné dorovnání */
}

.sticky-col {
    left: 50px;
    position: sticky !important;
    background-color: #fff !important;   /* světlý režim */
    z-index: 10;
}

.victor {
    background-color: #e6fce0;
}

/* CK Editor */
.ck-editor__editable {
    min-height: 500px;
}

html, body {
    overflow-x: hidden !important;
}

.map-vozidlo .leaflet-div-icon
{
    border:2px solid #e6057f!important;
    background-color:white!important;
    border-radius: 20px;
}

.map-vozidlo .leaflet-div-icon>img
{
    padding:5px;

}

/* Wrapper se šipkami */
.vozidlo-timeline .timeline-wrapper {
    position: relative;
    display: flex;
    /*align-items: center;*/
}

/* Navigační šipky */
.vozidlo-timeline .nav-btn {
    background: #fff;
    border: 2px solid #ccc;
    padding: 10px 14px;
    font-size: 20px;
    cursor: pointer;
    border-radius: 6px;
    transition: 0.2s;
    z-index: 10;
}

.vozidlo-timeline .nav-btn:hover {
    background: #eee;
}

.vozidlo-timeline .left { margin-right: 10px; }
.vozidlo-timeline  .right { margin-left: 10px; }

/* Slider */
.vozidlo-timeline .timeline-slider {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 20px;
    padding: 0 20px 20px 20px;
    margin: 0;
    list-style: none;
    align-items: stretch;
    scroll-behavior: smooth;
}

.vozidlo-timeline .timeline-slider::-webkit-scrollbar {
    height: 8px;
}
.vozidlo-timeline .timeline-slider::-webkit-scrollbar-thumb {
    background: #b9b9b9;
    border-radius: 4px;
}

.vozidlo-timeline .slide-item {
    flex: 0 0 auto;
    width: 300px;
    display: flex;
}

.vozidlo-timeline .slide-content {
    padding: 15px 20px;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    white-space: normal;
    word-wrap: break-word;
    display: flex;
    flex-direction: column;
    /*justify-content: space-between;*/
    border-left: 4px solid #333;
    transition: transform 0.2s;
}

.vozidlo-timeline .slide-content.active {
    transform: scale(1.05);
}

/* Barvy podle typu */
.vozidlo-timeline .event-type-6 { border-color: #ffab00;color:#ffab00; background: #fff2d6; }
.vozidlo-timeline .event-type-5 { border-color: rgba(34,48,62,.5);color:rgba(34,48,62,.5); background: rgba(242,243,243,.92); }
.vozidlo-timeline .event-type-4 { border-color: #ff3e1d;color:#ff3e1d; background: #ffe0db; }
.vozidlo-timeline .event-type-3 { border-color: #03c3ec;color: #03c3ec; background: #d7f5fc; }
.vozidlo-timeline .event-type-2 { border-color: #ffab00;color: #ffab00; background: #fff2d6; }
.vozidlo-timeline .event-type-1 { border-color: #e6057f;color: #e6057f; background: #e7e7ff; }
.vozidlo-timeline .event-type-0 { border-color: #71dd37;color: #71dd37; background: #e8fadf; }

.vozidlo-timeline .slide-time {
    color: #444;
    font-size:14px;
}

.vozidlo-timeline .slide-title {
    font-size: 16px;
    font-weight: 600;
}

/* RESPONSIVE */
@media (max-width: 600px) {
    .vozidlo-timeline .slide-item { width: 80vw; }
    .vozidlo-timeline .nav-btn { display: none; } /* šipky pryč na mobilu – swipe stačí */
}

/* Uložiště souborů */
/* =====================================================
   SPOLEČNÉ
===================================================== */

#uloziste .item {
    cursor: pointer;
}

.module-tile {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 12px;     /* celý blok */
    overflow: hidden;  
}

.module-header {
    min-height: 100px;
    padding: 8px 12px;

    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;
    color: #fff;
    font-size: 26px;
    font-weight: 600;
    text-transform: uppercase;

    line-height: 1.2;
    word-break: break-word;

    border-radius: 0 !important;
}

.module-body {
    flex: 1;
    padding: 20px;

    display: flex;
    align-items: center;
    gap: 10px;

    font-size: 14px;

    border-radius: 0 !important;
}

.module-body i {
    flex-shrink: 0;
}

.tile-label {
    font-weight: 600;
    color: #333;
    line-height: 1.2;
    word-break: break-word;
    text-align: left;
}

/* akce */
.delete-link {
    display: none;
    font-size: 13px;
    text-decoration: none;
}

/* =====================================================
   LIST VIEW
===================================================== */

#uloziste.view-list .module-header {
    display: none;
}

#uloziste.view-list .module-tile {
    border: none;
    box-shadow: none;
}

#uloziste.view-list .module-body {
    justify-content: flex-start;
    padding: 10px;
}

#uloziste.view-list .module-body i {
    font-size: 22px;
}

#uloziste.view-list .delete-link {
    display: inline;
}

/* =====================================================
   TILE VIEW
===================================================== */

#uloziste.view-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 24px;
    align-items: stretch;
}

#uloziste.view-tiles .item {
    display: flex;
    flex-direction: column;
}

#uloziste.view-tiles .module-body {
    justify-content: center;
}

#uloziste.view-tiles .module-body i {
    font-size: 30px;
}

/* Toggle přepínač – růžový styl */
.btn.btn-toggle-pink {
    color: #6c757d;
    border: 1px solid #d9dee3;
    background: transparent;
}
.btn.btn-toggle-pink:hover {
    color: #e6057f;
    border-color: #e6057f;
    background: rgba(230, 5, 127, 0.05);
}
.btn-check:checked + .btn.btn-toggle-pink {
    color: #fff;
    background-color: #e6057f;
    border-color: #e6057f;
    box-shadow: 0 2px 6px rgba(230, 5, 127, 0.35);
}

