@CHARSET "UTF-8";
body {
    font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

:root {
    --bs-primary: #3c8dbc;
    --bs-primary-rgb: 255, 111, 97;
    --lte-card-variant-bg: #3c8dbc;
    --bs-link-color: #3c8dbc;
    --bs-pagination-active-bg: #3c8dbc;
    --bs-pagination-active-border-color: #3c8dbc;
    --bs-primary-rgb: #3c8dbc;

    /* Work Attendance Calendar Theme */
    --wa-calendar-bg: var(--bs-body-bg, #fff);
    --wa-calendar-border: var(--bs-border-color, #dee2e6);
    --wa-calendar-radius: 0.5rem;
    --wa-calendar-shadow: 0 0 1px rgba(0,0,0,0.125), 0 1px 3px rgba(0,0,0,0.2);
    --wa-header-bg: var(--bs-primary, #3c8dbc);
    --wa-header-color: #fff;
    --wa-cell-hover-bg: rgba(60, 141, 188, 0.08);
    --wa-nonworkday-bg: #e8f5e9;
    --wa-nonworkday-color: #2e7d32;
    --wa-dayn-bg: var(--bs-gray-100, #f8f9fa);
    --wa-today-bg: rgba(60, 141, 188, 0.15);
    --wa-today-border: var(--bs-primary, #3c8dbc);
    --wa-transition: 0.15s ease-in-out;
}

.btn-primary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #3c8dbc;
    --bs-btn-border-color: #3c8dbc;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: rgb(59.5, 108.8, 216.75);
    --bs-btn-hover-border-color: rgb(56, 102.4, 204);
    --bs-btn-focus-shadow-rgb: 98, 147, 255;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: rgb(56, 102.4, 204);
    --bs-btn-active-border-color: rgb(52.5, 96, 191.25);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: #3c8dbc;
    --bs-btn-disabled-border-color: #3c8dbc;
}

.btn-primary:hover {
    background-color: #32779F;
    border-color: #275D7C;
}

.text-bg-primary {
    background-color: #3c8dbc !important;
}

.card-primary, .bg-primary, .text-bg-primary {
    --lte-card-variant-bg: #3c8dbc;
}

.card-header {
    padding: 0.8rem 0.8rem 0.6rem 0.8rem;
    background-color: #fafafa;
}

.card > .card-header-sm {
    padding: 0.6rem 0.8rem 0.5rem 0.8rem;
}

.card > .card-body-sm {
    padding: 0.6rem 0.8rem 0.5rem 0.8rem;
    font-size: 0.9rem;
}

.card-outline > .card-header .card-title {
    font-size: 1.0rem;
    font-weight: 600;
    color: #317eac;
}

.card-footer {
    padding: 0.5rem 0.8rem 0.5rem 0.8rem;
}

.RowsWithBackGroundOdd > .row:nth-child(odd) {
    background-color: #f2f2f2;
}

.RowsWithBackGroundOddAndBorders > .row:nth-child(odd) {
    background-color: #f2f2f2;
}

.RowsWithBackGroundOddAndBorders > .row:hover {
    background-color: #e2e2e2;
}

.RowsWithBackGroundOddAndBorders > .row {
    border-bottom: 1px solid #bbb !important;
}

.bg-primary {
    background-color: #3c8dbc !important;
}

.box-shadow-none {
    box-shadow: none !important;
}

.border-none {
    border: none !important;
}

.page-link.active, .active > .page-link {
    background-color: #3c8dbc;
    border-color: #3c8dbcvar;
}

ul.nav-tabs {
    border-bottom: 1px solid #b0b0b0;
}

ul.nav-tabs > li.nav-item {
    margin-bottom: -1px;
}

ul.nav-tabs > li.nav-item > a.nav-link {
    color: #555;
    background-color: #fff;
    border: 1px solid #b0b0b0;
}

ul.nav-tabs > li.nav-item > a.nav-link:hover {
    background-color: #cacaca;
    border: 1px solid #bababa;
}

ul.nav-tabs > li.nav-item > a.nav-link.active {
    font-weight: 600;
    color: #fff;
    background-color: #3c8dbc;
    border: 1px solid #8a8a8a;
}

main.app-main {
    background-color: #f5f5f5;
}

a {
    color: #3c8dbc;
    text-decoration: none;
    --bs-link-color: #3c8dbc;
}

.nopaddingmargin {padding: 0 !important; margin: 0 !important;}

.print-only {
    display: none;
}

.input-daterange {
    max-width: 400px;
}

input[type="number"] {
    max-width: 150px;
    text-align: right;
}
div.flatpickr-wrapper input[type="number"] {
    max-width: 100%;
    text-align: center;
}
.AutoNumeric { text-align: right !important; max-width: 150px;}
.NumericOnlyNumbersAndCommaToDot {
    text-align: right;
}

input[type="date"] {
    max-width: 150px;
}

input.datepickerTH {
    min-width: 90px;
}

input[type="time"] {
    max-width: 150px;
}

.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
    width: 100% !important;
}

.bootstrap-select {
    padding: 0px !important;
}

input.form-control::placeholder {
    color: #bbb;
    opacity: 1;
}

@media print {
    .no-print, .no-print * {
        display: none !important;
    }

    .print-only {
        display: block !important;
    }

    .PrintNewPage {
        page-break-after: always;
    }

    input.phoenix-input {
        padding: 2px 4px 2px 4px;
    }

    a.GoToBack {
        display: none !important;
    }

    div.card-header button {
        display: none !important;
    }

    div.file-attachment > a.preview {
        display: none !important;
    }

    table, tr, td {
        page-break-before: auto;
        page-break-inside: auto;
        page-break-after: auto;
    }

    div {
        font-size: 0.8rem !important;
    }

    div, section, article {
        position: static !important;
    }

    /* Fix for Chrome printing - hide AdminLTE layout elements */
    .app-header,
    .app-sidebar,
    nav.app-header,
    aside.app-sidebar {
        display: none !important;
    }

    html, body {
        font-size: 0.8rem !important;
        height: auto !important;
        min-height: auto !important;
        overflow: visible !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
    }

    /* Fix AdminLTE grid layout for printing */
    .app-wrapper {
        display: block !important;
        grid-template-areas: none !important;
        grid-template-rows: none !important;
        grid-template-columns: none !important;
        position: static !important;
        min-height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    /* Ensure main content is visible and takes full width */
    .app-main,
    main.app-main {
        display: block !important;
        position: static !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        height: auto !important;
        min-height: auto !important;
        overflow: visible !important;
        flex: none !important;
        background-color: #fff !important;
    }

    .app-content,
    div.app-content {
        display: block !important;
        position: static !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
    }

    @page {
        size: auto;
        margin: 10mm;
    }

    .d-print-none,
    .no-print {
        display: none !important;
    }
}

::-webkit-scrollbar {
    width: 9px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background-color: rgba(155, 155, 155, 0.5);
    border-radius: 20px;
    border: transparent;
}

#menu-nastaveni {
    border-top: 1px solid #666;
}

#sys_menu_back {
    min-width: 250px;
}

#save-alert {
    left: 50%;
    top: 40%;
    width: 50px;
    height: 50px;
    margin: 0 auto;
    position: fixed;
    display: none;
    z-index: 1099;
    color: #177e5d;
    font-size: 86px;
}

.app-header {
    opacity: 1;
}

.BodyClassGrey, .bg-grey, .bg-grey888 {
    background-color: #888;
}

.bg-greyAAA {
    background-color: #aaa;
}

.bg-greyCCC {
    background-color: #ccc;
}

.bg-greyDDD {
    background-color: #ddd;
}

.bg-greyE0E0E0 {
    background-color: #e0e0e0;
}

.bg-greyE8E8E8 {
    background-color: #e8e8e8;
}

span.SMSMobileNumber {
    font-size: 0.8rem;
    color: #999;
}

div.editable-buttons > button {
    margin-top: 50%;
}

pre.xdebug-var-dump {
    z-index: 3200;
    position: relative;
}

div.center-div > div {
    width: 100%;
    height: auto;
    margin: 0 auto;
    position: relative;
}

div.center-div > div > div {
    width: 100%;
    height: auto;
    margin: 0 auto;
    position: relative;
}

div.center-div > div > div > table {
    margin: 0 auto;
}

#DebugBar {
    font: normal normal 13px/1.55 Tahoma, sans-serif;
    color: #333;
    border: 1px solid #c9c9c9;
    background: #EDEAE0 url(data:image/png;base64,R0lGODlhAQAUALMAAOzq4e/t5e7s4/Dt5vDu5e3r4vDu5uvp4O/t5AAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAABABQAAAQM0EgySEAYi1LA+UcEADs=) top;
    background-size: 1em;
    position: fixed;
    right: 0;
    bottom: 0;
    min-width: 50px;
    white-space: nowrap;
    z-index: 30000;
    opacity: .9;
    transition: opacity 0.2s;
    border-radius: 3px;
    box-shadow: 1px 1px 10px rgb(0 0 0 / 15%);
}

div.ClicAbleScrollTo {
    background-color: #eaeaea;
    padding: 5px 5px 5px 10px;
    border-radius: 10px;
    border: 1px solid #ddd;
    margin: 0px 5px 2px 0px;
    color: #2980b9;
}

div.ClicAbleScrollTo:hover {
    background-color: #e3e3e3;
    cursor: pointer;
}

div.MinimalPaddingColsInRow > div {
    padding-left: 5px;
    padding-right: 5px;
}

/* Table1Grey */
table.table1Grey {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    border-collapse: collapse;
    color: #333;
    font-weight: normal;
}

table.table1Grey thead tr {
    border-left: 1px solid #CCC;
}

table.table1Grey thead tr th {
    color: #ffffff;
    background: #666;
    padding: 5px;
    text-align: center;
    border-bottom: 1px solid #CCC;
    border-left: 1px solid #c0c0c0;
    border-right: 1px solid #c0c0c0;
}

table.table1Grey thead tr th a {
    color: #ffffff;
    text-decoration: none;
}

table.table1Grey tbody tr {
    border-right: 1px solid #CCC;
    border-left: 1px solid #CCC;
}

table.table1GreyTDTextAlignRight tbody tr td {
    text-align: right !important;
}

table.table1Grey tbody tr td {
    background: #FFF;
    display: table-cell;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 10px;
    padding-right: 10px;
    vertical-align: top;
    text-align: left;
    border-left: 1px solid #e5e5e5;
}

table.table1Grey tbody tr td a {
    text-decoration: none;
    color: #0000EE;
}

table.table1Grey tbody tr td a:visited {
    text-decoration: none;
    color: #0000EE;
}

table.table1Grey tbody tr td a:hover {
    text-decoration: none;
    color: #EE0000;
}

table.table1Grey tbody tr:hover td {
    background-color: #EBF2FF;
}

table.table1Grey tbody tr:nth-of-type(odd) td {
    background-color: #f1f1f1;
}

table.table1Grey tbody tr:hover:nth-of-type(odd) td {
    background-color: #EBF2FF;
}

table.table1Grey tfoot tr th {
    border-top: 1px solid #CCC;
    padding: 5px;
    text-align: left;
    z-index: 100;
    text-align: left;
    border-bottom: 1px solid #CCC;
    border-right: 1px solid #CCC;
    border-left: 1px solid #ccc;
}

table.table-hover > tbody > tr:hover > td {
    border-top: 1px solid #5EB533;
    border-bottom: 1px solid #5EB533;
    padding-top: 7px !important;
}

table.table-hover > tbody > tr.BorderTopThickAAA:hover > td {
    border-top: 2px solid #5EB533 !important;
    padding-top: 8px !important;
}

/*---MonthList---*/
table.TableMonthList {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    border-collapse: collapse;
    color: #333;
    font-weight: normal;
}

table.TableMonthList caption {
    text-align: center;
    background-color: #2980b9;
    color: #fff;
    font-weight: bold;
    padding: 3px;
    caption-side: top;
}

table.TableMonthList thead tr th {
    text-align: center;
    padding: 3px;
    width: 14px;
    background-color: #2980b9;
    color: #ffffff;
    font-size: 0.9rem;
}

table.TableMonthList td {
    text-align: center;
    padding: 3px;
    border: 1px solid #ddd;
    width: 14px;
    font-size: 0.9rem;
}

/*---Vykazy prace - denni prehled s porovnanim na dochazku (ajax/vykazy_prace_zobrazit_6.php)---*/
.VykazyPraceDayFree {
    background-color: #dddddd;
}

/* Hlavicka TableMonthList je modra s bilym textem a `table.TableMonthList thead tr th` prebiji
   samotnou tridu - nepracovni dny proto potrebuji vlastni (tmavsi) odstin, ne sedou. */
table.TableMonthList thead tr th.VykazyPraceDayFree {
    background-color: #1b587f;
}

.VykazyPraceDayOk {
    /* Vykazano vse (nebo manko v toleranci) - zamerne bez vyplne, aby vynikly problemove dny */
}

.VykazyPraceDayDeficitYellow {
    background-color: #ffe08a;
    color: #6b4b00;
    font-weight: bold;
}

.VykazyPraceDayDeficitRed {
    background-color: #f5a3a3;
    color: #7a0b0b;
    font-weight: bold;
}

.VykazyPraceDayNoAttendance {
    background-color: #cfe2ff;
    color: #0a3678;
}

.VykazyPraceDayLegend span {
    display: inline-block;
    padding: 2px 10px;
    margin-right: 4px;
    border: 1px solid #ddd;
    min-width: 34px;
    text-align: center;
}

/*---ScheduleMeetingFill---*/
table.ScheduleMeetingFill {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    border-collapse: collapse;
    color: #333;
    font-weight: normal;
}

table.ScheduleMeetingFill caption {
    text-align: center;
    background-color: #2980b9;
    color: #fff;
    font-weight: bold;
    padding: 3px;
}

table.ScheduleMeetingFill thead tr th {
    text-align: center;
    padding: 10px;
    background-color: #2980b9;
    color: #ffffff;
}

table.ScheduleMeetingFill td {
    text-align: center;
    padding: 10px;
    border: 1px solid #ddd;
    width: 14px;
}

div.popover-content div.editable-input select {
    font-size: 1.1em;
}

span.ClosePopoverTitle {
    font-weight: bold;
    float: right;
    cursor: pointer;
}

span.ClosePopoverTitle:hover {
    color: #e01111;
}

.popover-title {
    padding: 4px 7px;
}

button.btn-xs {
    padding: 0.1rem 0.2rem;
    font-size: 0.75rem;
    border-radius: 0.2rem;
}

.numberCircle20 {
    border-radius: 50%;
    width: 20px;
    height: 20px;
    padding: 1px;
    display: block;

    background: #fff;
    border: 1px solid #666;
    color: #666;
    text-align: center;
}

.numberCircle20Red {
    border-radius: 50%;
    width: 20px;
    height: 20px;
    padding: 0px 0px 20px 0px;
    display: block;
    background: #fff;
    border: 1px solid #d73925;
    color: #666;
    text-align: center;
    text-decoration: line-through;
    text-decoration-color: #d73925;
}

input.text-center {
    text-align: center;
}

select.text-center {
    text-align: center;
}

span.badgered {
    background-color: #ef3434 !important;
}

span.badgegreen {
    background-color: #008d4c !important;
}

span.badgebw {
    font-weight: normal;
    border: 1px solid #888;
    background-color: #fff;
    color: #888;
'
}

span.badgechat {
    font-weight: normal;
    margin: 0px 5px 3px 0px;
    padding: 5px 7px 5px 7px;
    background-color: #aaa;
}

span.badgechat:hover {
    font-weight: normal;
    margin: 0px 5px 3px 0px;
    padding: 5px 7px 5px 7px;
    background-color: #3c8dbc;
}

span.badgewhite {
    background-color: #fff !important;
    color: #000;
    font-weight: normal;
}

div.TextAlignRight {
    text-align: right;
}

.TextAlignRight {
    text-align: right !important;
}

.TextAlignLeft {
    text-align: left !important;
}

.TextAlignCenter {
    text-align: center !important;
}

.MouseHOverPointer:hover {
    cursor: pointer;
}

.adetailblack {
    color: #333;
    cursor: pointer;
}

.strong {
    font-weight: bold;
}

/* Hvezdicka u povinnych poli. Tridu predepisuje Templates/CLAUDE/dialog-modal.php
   a uz ji pouzivaji dialogy CashDesk a AccountingDoublePeriod, definice ale chybela,
   takze se hvezdicka kreslila cerne jako obycejny text. */
.required-asterisk {
    color: var(--bs-danger, #dc3545);
    font-weight: bold;
}

.black {
    color: #000 !important;
}

.close {
    opacity: 1;
}

.tooltip {
    position: fixed;
}

.pointer {
    cursor: pointer
}

.nobold {
    font-weight: normal;
}

h2.nadpis {
    font-size: 16px;
    margin: 0px 0px 10px 0px;
    font-weight: bold;
    color: #317eac;
}

.nadpis-novinky {
    padding-bottom: 5px;
    color: #444;
    font-weight: 600;
    background-color: #eeeeee;
    padding: 6px 6px 6px 6px;
    margin: 0px;
    font-size: 1.2rem;
}

i.previewarrows {
    font-size: 24px;
    color: #aaa;
    cursor: pointer;
}

i.previewarrows:hover {
    color: #317eac !important;
}

h2.withlineinwell {
    position: relative;
    text-align: center;
    margin-top: 0px;
}

h2.withlineinwell:before {
    content: "";
    display: block;
    border-top: solid 1px #e3e3e3;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
    z-index: 0;
    margin-top: 5px;
}

h2.withlineinwell span {
    font-size: 14px;
    background: #f5f5f5;
    padding: 0 10px;
    position: relative;
    z-index: 1;
}

label.error {
    color: #ff0000;
}

.nowrap {
    white-space: nowrap;
}

.form-group {
    margin-bottom: 6px;
}

.width100 {
    width: 100px;
}

.width110 {
    width: 110px;
}

.width175 {
    width: 175px;
}

.green {
    color: #008d4c !important;
}

.red {
    color: #f00 !important;
}

span.green a {
    color: #008d4c !important;
}

.grey666 {
    color: #666 !important;
}

.grey777 {
    color: #777 !important;
}

.grey888 {
    color: #888 !important;
}

.greenimportant {
    color: #008d4c !important;
}

.red {
    color: #f00;
}

.redimportant {
    color: #f00 !important;
}

.redbg {
    background-color: #f00;
}

.fontsize9 {
    font-size: 9px !important;
}

.fontsize10 {
    font-size: 10px !important;
}

.fontsize11 {
    font-size: 11px !important;
}

.fontsize13 {
    font-size: 13px !important;
}

.fontsize14 {
    font-size: 14px !important;
}

.fontsize075rem {font-size: 0.75rem !important;}
.fontsize08rem {font-size: 0.8rem !important;}
.fontsize09rem {font-size: 0.9rem !important;}
.fontsize1rem {font-size: 1rem !important;}

#FVCelkemSouctyMena > div.row > div > div span.badge {font-size: 0.75rem !important;}

.clearboth {
    clear: both;
}

.bold {
    font-weight: 700;
}

.BorderBottomThickAAA {
    border-bottom: 2px solid #aaa !important;
}

.nomargin {
    margin: 0px;
}

.blue {
    color: #317eac;
}

.alert {
    padding: 0.4rem 0.4rem 0.4rem 0.4rem;
}

.alert-info {
    color: #31708f;
}

.alert-dismissible .btn-close {
    padding: 0.75rem 0.6rem;
}

div.input-group > div.flatpickr-wrapper {
    max-width: 45%;
}

div.input-group > div.input-group-text {
    width: auto;
}

div.flatpickr-wrapper > div.flatpickr-calendar > div.flatpickr-months {
    border-bottom: 2px solid #aaaaaa;
    margin-bottom: 4px;
    padding-bottom: 4px;
}

div.flatpickr-wrapper > div.flatpickr-calendar > div.flatpickr-time {
    border-top: 2px solid #aaaaaa;
}

div.input-group.input-group-sm.input-group-year > label {
    border: 1px solid #6c757d;
    background-color: #6c757d;
    color: #fff;
}

div.input-group.input-group-sm.input-group-year > button.btn-outline-secondary.dropdown-toggle {
    margin-bottom: 2px;
}

.btn-group-xs > button.btn-xs {
    padding: 2px 3px;
    font-size: 0.75rem;
}

.fontweightnormal {
    font-weight: normal;
}

.white {
    color: #fff;
}

.hidden {
    display: none;
}

button.btn-selected {
    background-color: #e7e7e7;
    font-weight: bold;
    border-color: #adadad;
}

.linkhandcursor {
    cursor: pointer;
}

div.popover {
    max-width: 600px;
}

div.imagemaxwidth250 img {
    max-width: 250px !important;
    max-height: 250px !important;
}

table > tbody > tr.BorderTop888 > td {
    border-top: 1px solid #888 !important;
}

table > tbody > tr.BorderTopThickBlack > td {
    border-top: 2px solid #000 !important;
}

table > tbody > tr.BorderBottomThickBlack > td {
    border-bottom: 2px solid #000 !important;
}

table > tbody > tr.BorderTopThickAAA > td {
    border-top: 2px solid #aaa !important;
}

table > tbody > tr.BorderBottomThickAAA > td {
    border-bottom: 2px solid #aaa !important;
}

table > tbody > tr.BgLightRed > td {
    background-color: #f78e7e !important;
}

table > tbody > tr > td.BackGroundGreen {
    background-color: #9dff9d !important;
}

table {
    caption-side: top;
}

table.table:not(.dataTable) > thead > tr > th {
    background-color: #6c757d;
    font-size: 0.9rem;
    color: #fff;
    font-weight: 600;
    transition: all 0.3s ease-in-out;
}

table.table:not(.dataTable) > thead > tr > th:hover {
    background-color: #5a6268;
    color: #ffffff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

table.table > tfoot > tr > th {
    background-color: #e0e0e0;
    border-bottom: 2px solid #aaaaaa;
    font-size: 0.9rem;
}

table.table > tfoot > tr > td {
    font-size: 0.9rem;
}

table.table > thead > tr > th > a {
    color: #fff;
}

/* Arrows for sorting all time on right */
table.dataTable th.dt-type-numeric div.dt-column-header, table.dataTable th.dt-type-numeric div.dt-column-footer, table.dataTable th.dt-type-date div.dt-column-header, table.dataTable th.dt-type-date div.dt-column-footer, table.dataTable td.dt-type-numeric div.dt-column-header, table.dataTable td.dt-type-numeric div.dt-column-footer, table.dataTable td.dt-type-date div.dt-column-header, table.dataTable td.dt-type-date div.dt-column-footer {
    flex-direction: unset;
}

tr > td.DataTableSectionHeader {
    color: #fff !important;
    font-weight: bold !important;
    border-top: 2px solid #aaa !important;
    background-color: #08c !important;
}

div.dt-bootstrap5 div.dt-paging > nav > ul > li {
    margin-right: 10px;
}

div.CardBodyWithDt {
    padding: 0px 0px 10px 0px;
}

div.CardBodyWithDt > div.dt-bootstrap5 > div.row:first-child {
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 5px;
}

div.CardBodyWithDt > div.dt-bootstrap5 > div.dt-layout-table {
    margin: 0px !important;
    padding: 0px !important;
    border-bottom: 1px solid #6c757d;
}

div.CardBodyWithDt > div.dt-bootstrap5 > div.dt-layout-table > div.dt-layout-full {
    margin: 0px !important;
    padding: 0px !important;
}

div.CardBodyWithDt div.dt-bootstrap5 > div.row > div > div.dt-info {
    margin-left: 5px !important;
    margin-right: 5px;
    margin-bottom: 10px;
}

div.CardBodyWithDt div.dt-bootstrap5 > div.row > div > div.dt-buttons {
    margin-left: 5px !important;
}

div.CardBodyWithDt div.dt-bootstrap5 > div.row > div > div.dt-search {
    margin-right: 5px !important;
}

div.CardBodyWithDt > div.dt-bootstrap5, table.dataTable, table.table > tbody {
    font-size: 0.9rem;
}

div.dt-bootstrap5 > div.row > div > div.dt-buttons button {
    padding: 3px 5px;
    font-size: 0.9rem;
}

div.dt-bootstrap5 .btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-group > .btn.dropdown-toggle-split:first-child, .btn-group > .btn-group:not(:last-child) > .btn {
    border-right: 2px solid #9a9a9a;
}

table.dataTable > thead > tr > th {
    background-color: #6c757d !important;
    font-size: 0.9rem;
    color: #fff;
    font-weight: 600;
    transition: all 0.3s ease-in-out;
}

table.dataTable > thead > tr > th:hover {
    background-color: #5a6268 !important;
    color: #ffffff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

table.dataTable > thead > tr > th:not(:last-child) {
    border-right: 1px solid #aaa;
}

table.TableTheadNoBorderTop > thead > tr > th {
    border-top: none !important;
}

table.TableTfootNoBorderTop > tfoot > tr > th {
    border-top: none !important;
}

table.TableTfootNoBorderBottom > tfoot > tr > th {
    border-bottom: none !important;
}

table.TableHoverRowColumn {
    overflow: hidden;
}

table.TableHoverRowColumn th {
    position: relative;
}

table.TableHoverRowColumn td {
    position: relative;
}

table.TableHoverRowColumn td:hover::after,
table.TableHoverRowColumn th:hover::after {
    background-color: rgba(216, 233, 243, 0.5) !important;
    content: '\00a0';
    height: 10000px;
    left: 0;
    position: absolute;
    top: -5000px;
    width: 100%;
}


div.FiltrChildLabelPadTop5 label {
    padding-top: 5px;
}

.Border1pxGrey {
    border: 1px solid #bbb !important;
}

.BorderTop1pxGrey {
    border-top: 1px solid #bbb !important;
    --bs-gutter-x: 1rem;
}

.BorderTop2pxGrey {
    border-top: 2px solid #bbb !important;
    --bs-gutter-x: 1rem;
}

.BorderTop3pxGrey {
    border-top: 3px solid #bbb !important;
    --bs-gutter-x: 1rem;
}

div.card-body > div.row.BorderBottom1pxGrey {
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem !important;
    --bs-gutter-x: 2rem;
}

div.card-body > div.row.BorderTop1pxGrey {
    padding-top: 0.75rem;
    margin-top: 0.75rem !important;
    --bs-gutter-x: 2rem;
}

.BorderBottom1pxGrey {
    border-bottom: 1px solid #bbb !important;
    --bs-gutter-x: 1rem;
}

div.card-body > div.row.BorderBottom1px888 {
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem !important;
    --bs-gutter-x: 2rem;
}

div.card-body div.row > label:hover, label:has(+ div:hover) {
    font-weight: 800 !important;
}

div.card-body div.row > label + div:hover, label:hover + div {
    font-weight: 800 !important;
}

div.ql-toolbar {
    font-weight: normal !important;
}

div.ql-container {
    font-weight: normal !important;
}

div.ql-tooltip {
    font-weight: normal !important;
}

.ql-toolbar.ql-snow .ql-formats {
    margin-right: 10px !important;
}

.user-mention {
    display: inline-block;
    padding: 0.4em 0.65em;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    background-color: #6c757d;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 0.375rem;
    transition: all 0.2s ease-in-out;
}

.user-mention:hover {
    background-color: #5c636a;
    cursor: pointer;
}

.BorderBottom1px888 {
    border-bottom: 1px solid #888 !important;
    --bs-gutter-x: 1rem;
}

#nastaveni-povolene-moduly ul {
    margin-bottom: 2px;
    margin-top: 2px;
}

div.input-xs > div.selectize-input {
    min-height: 24px;
    padding: 2px 4px;
    border-radius: 2px;
    line-height: 18px;
}

input.input-xs {
    height: 24px;
    padding: 2px 3px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}

.line-height2 {
    line-height: 2em;
}

.fa-rotate-45 {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

div.dnyvtydnucheckbox {
    float: left;
    margin: 0px 10px 0px 0px;
    width: 100px;
}

img.anketylogo {
    max-width: 300px;
    max-height: 150px;
    margin: 10px;
}

#DiscussionGroupList > .dropdown:hover > .dropdown-menu {
    display: block;
    margin-top: 0;
}

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu > .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: -1px;
    -webkit-border-radius: 0 6px 6px 6px;
    -moz-border-radius: 0 6px 6px;
    border-radius: 0 6px 6px 6px;
}

.dropdown-submenu:hover > .dropdown-menu {
    display: block;
}

.dropdown-submenu > a:after {
    display: block;
    content: " ";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #ccc;
    margin-top: 5px;
    margin-right: -10px;
}

.dropdown-submenu:hover > a:after {
    border-left-color: #fff;
}

.dropdown-submenu.pull-left {
    float: none;
}

.dropdown-submenu.pull-left > .dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
}

div.ContentSysBackItem {
    padding: 3px 10px 3px 10px;
    font-weight: 600;
    color: #000;
}

div.ContentSysBackItem:hover {
    color: #eee;
    background-color: #6c757d;
}

div.form-group > div.control-note {
    padding-top: 7px;
}

span.note {
    font-size: 0.8rem;
    color: #999;
}

span.chattimestamp {
    font-size: 0.9em;
    color: #999;
    padding-left: 10px;
    padding-right: 10px;
}

div.direct-chat-text-my {
    background-color: #a3f77f
}

span.EETnote {
    font-size: 0.9em;
    color: #777;
}

span.invisibledt {
    display: none;
    visibility: hidden;
}

div.my-alert-box {
    box-shadow: none;
    min-height: 30px;
    margin-bottom: 5px;
    background-color: #dd4b39;
    width: 100%;
    border-radius: 2px;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    display: flex;
}

div.my-alert-box a {
    color: #ccc;
}

div.my-alert-box a:hover {
    color: #bbb;
}

div.my-alert-box-icon {
    background: rgba(0, 0, 0, 0.2);
    float: left;
    color: #fff;
    min-height: 30px;
    min-width: 20px;
    width: 35px;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    font-size: 1.8em;
    text-align: center;
    padding-top: 5px;
    padding-bottom: 5px;
}

div.my-alert-box-icon-right {
    background: rgba(0, 0, 0, 0.2);
    float: left;
    color: #fff;
    min-height: 30px;
    min-width: 20px;
    width: 35px;
    font-size: 1.8em;
    text-align: center;
    padding-top: 5px;
    padding-bottom: 5px;
}

div.my-alert-box-icon-right a {
    color: #ddd;
}

div.my-alert-box-icon-right a:hover {
    color: #fff;
}

div.my-alert-box-content {
    float: left;
    min-height: 30px;
    font-size: 1.2em;
    background-color: #dd4b39;
    padding: 5px 10px;
    color: #fff;
    width: 100%;
}

div.white_panel {
    border: 1px solid #ddd;
    background-color: #fff;
    padding: 10px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -moz-box-shadow: 0 1px 2px #d1d1d1;
    -webkit-box-shadow: 0 1px 2px #d1d1d1;
    box-shadow: 0 1px 2px #d1d1d1;
}

div.white_panel div.content_heading {
    border-bottom: 1px solid #ccc;
    background-color: #d8d8d8;
    padding-left: 8px;
    padding-top: 3px;
    padding-bottom: 3px;
    font-weight: bold;
}

div.wa_chip_button {
    border: 1px solid #ddd;
    background-color: #fff;
    padding: 12px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
    -moz-box-shadow: 2px 2px 4px #d1d1d1;
    -webkit-box-shadow: 2px 2px 4px #d1d1d1;
    box-shadow: 2px 2px 4px #d1d1d1;
    margin-bottom: 5px;
    margin-top: 5px;
    color: #fff;
    text-align: center;
    text-decoration: none;
}

a div.wa_chip_button {
    text-decoration: none;
}

.form-group i.fa-info-circle {
    font-size: 14px;
    color: #3c8dbc;
}

.action-icons {
    vertical-align: middle;
}

.action-icons-blue > .fa, .action-icons-green > .fa, .action-icons-green-white > .fa, .action-icons > .fa, .action-icons .fa, .action-icons > .fa-stack {
    font-size: 18px;
    cursor: pointer;
    padding-right: 5px;
    color: #aaa;
}

.action-icons-blue-14 > .fa, .action-icons-14 > .fa {
    font-size: 14px;
    cursor: pointer;
    padding-right: 5px;
    color: #aaa;
}

.content-header > .action-icons > a > .fa {
    font-size: 12px;
    cursor: pointer;
    padding-right: 5px;
    color: #aaa;
}

.content-header > .action-icons > a {
    color: #aaa;
}

.content-header > .action-icons > a:hover, .content-header > .action-icons > a:hover > .fa {
    color: red !important;;
}

.action-icons > .fa:hover, .action-icons > .fa-stack:hover, .action-icons-14 > .fa:hover, .action-icons > .fa-stack:hover > i.fa {
    color: red !important;;
}

.action-icons .fa:hover, .action-icons-14 .fa:hover {
    color: red !important;;
}

.action-icons > a:hover {
    color: red !important;
}

.action-icons-blue > .fa:hover, .action-icons-blue-14 > .fa:hover {
    color: #3c8dbc !important;;
}

.action-icons-green > .fa:hover {
    color: green !important;
}

.action-icons-green > i.fa-remove:hover {
    color: red !important;
}

.action-icons-green-white > .fa:hover {
    color: white !important;
}

.action-icons-green-white > i.fa-remove:hover {
    color: red !important;
}

/* FilesWebDav "work with selected files" toolbar: greyed + non-interactive when nothing is
   selected. pointer-events:none routes hover/click to the parent <span>, whose title shows the
   "select files first" hint. Scoped by FilesWebDavSelectionEmpty so it only ever hits this toolbar. */
.action-icons-green.FilesWebDavSelectionEmpty > .fa {
    opacity: .4;
    pointer-events: none;
    cursor: default;
}

span.mousehand {
    cursor: pointer;
}

a.GoToBack {
    font-weight: 600;
    font-size: 16px;
    text-decoration: none !important;
    color: #3c8dbc;
}

a.GoToBack:hover {
    color: #333;
}

th.center {
    text-align: center !important;
}

td.center {
    text-align: center !important;
}

hr.mtb5 {
    margin-top: 5px;
    margin-bottom: 5px;
}

.logged_user {
    padding: 5px 10px 5px 10px;
}

.info-box.info-box-sm {
    min-height: 45px;
    font-size: 12px;
    margin-bottom: 8px;
}

.info-box.info-box-sm > .info-box-icon {
    height: 45px;
    width: 45px;
    font-size: 24px;
    line-height: 45px;
}

.info-box.info-box-sm > .info-box-content {
    margin-left: 45px;
    padding: 2px 8px;
}

.smallcolorbox {
    width: 20px;
    height: 20px;
    margin: 5px;
    border: 1px solid rgba(0, 0, 0, .2);
    float: left;
}

div.ArrowOrders {
    float: left;
    margin-right: 5px;
    margin-top: 15px;
    color: #2e8b57 !important;
    width: 50px;
}

div.card-green {
    border-color: #2e8b57;
}

div.card-green > div.card-header {
    background-color: #2e8b57 !important;
    color: #fff !important;
}

/* ----Files--- */
div.file-attachment {
    float: left;
    margin: 0px 3px 7px 0px;
    border: 1px solid #888;
    padding: 3px 0px 3px 0px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -moz-box-shadow: 0 1px 2px #d1d1d1;
    -webkit-box-shadow: 0 1px 2px #d1d1d1;
    box-shadow: 0 1px 2px #d1d1d1;
    white-space: nowrap;
    background: rgba(150, 150, 150, 0.8);
    color: #fff;
}

div.BoxFoldersWithShadow {
    border: 1px solid #e1e1e1;
    border-radius: 5px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

div.BoxFoldersWithShadow:hover {
    border: 1px solid #ccc;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    background-color: #fbfbfb;
}

div.file-attachment a.save {
    padding: 3px 7px 3px 5px;
    white-space: nowrap;
    color: #fff;
}

div.file-attachment a.save:hover {
    box-shadow: none;
    background: #78a963;
}

div.file-attachment a.preview {
    padding: 3px 7px 3px 5px;
    color: #fff;
    border-left: 1px solid #999;
}

div.file-attachment a.preview:hover {
    box-shadow: none;
    background: #78a963;
}

a.redbghover:hover {
    background: #dd4b39 !important;
}

div.file-icon-container {
    font-size: 0.9em;
    color: #555;
    min-height: 90px;
}

div.file-icon-container > a {
    font-size: 0.9em;
    color: #555;
}

div.file-icon-container:hover div.file-icon-wrapper span.file-icon {
    box-shadow: 0 2px 3px #d1d1d1;
}

div.file-icon-container:hover {
    font-size: 1em;
    font-weight: bold;
    cursor: pointer;
}

div.file-name-wrapper {
}

.TDHighLightGrey {
    background-color: #ccc !important;
}

.TDHighLightGrey td {
    background-color: #ccc !important;
}

.TDBGColorGreyDDD {
    background-color: #ddd;
}

td.Notes > div.Notes {
    background-color: #e8e8e8;
    border: 1px solid #bbb;
    padding: 6px;
    margin: 4px;
}

div.Notes {
    background-color: #e8e8e8;
    border: 1px solid #bbb;
    padding: 6px;
    margin: 4px;
}

tr.tablevolnyden td {
    background-color: #d0feba;
}

/* Modul Smeny - mesicni mrizka zamestnanec x den.
   Volny den je tady SLOUPEC, ne radek, takze selektor "tr.tablevolnyden td" vyse
   na nej nesedne. Odstin je zamerne decentni: v bunkach uz jsou barevne odznaky
   typu smeny a syta zelena z radkove varianty by s nimi bojovala. */
.SmenyMrizka th.SmenyVolnyDen,
.SmenyMrizka td.SmenyVolnyDen {
    background-color: #eef2f5;
}

/* Prouzek doznivajici nocni smeny musi zustat citelny i na podbarvene bunce */
.SmenyMrizka td.table-danger .SmenyPresah,
.SmenyMrizka td.table-warning .SmenyPresah {
    opacity: .8;
}

tr.BackGroundGreen td {
    background-color: #9dff9d !important;
}

tr.BackGroundTrTdEEE td {
    background-color: #eeeeee !important;
}

/*---TopPanel---*/
div.card-body div.toppanel {
    float: left;
    margin: 10px;
    padding: 10px 12px 10px 12px;
    background-color: #999;
    color: #fff;
    font-weight: 600;
    font-size: 18px;
    cursor: pointer;
    box-shadow: 0 2px 3px #d1d1d1;
    max-height: 49px;
    height: 49px;
    border-radius: 6px;
}

div.card-body div.toppanel:HOVER {
    box-shadow: none;
    color: #eee;
}

div.card-body div.toppanel-active {
    background-color: #78a963;
    border: 2px solid #3c8dbc;
}

div.toppanelHeight {
    height: 75px !important;
    max-height: 100px !important;
}

div.card-body div.toppanel span.badge {
    background-color: #3c8dbc;
    color: #fff;
}

/*---Datatables GPS Grey---*/
table.dataTablePanelGrey thead th {
    color: #000;
    border-bottom: 1px solid #ddd;
    background-color: #eee;
    border-left: none;
    border-right: none;
    padding: 8px;
    font-weight: bold;
}

table.dataTablePanelGrey.no-footer {
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
    border-bottom: 1px solid #ccc;
}

#GPSCarsTable_wrapper > div.dataTables_filter {
    float: left !important;
    text-align: left !important;
    padding: 5px 0px 0px 5px;
}

#GPSCarsTable_wrapper > div.dataTables_filter > label {
    color: #666;
}

#GPSCarsTable_wrapper > div.dataTables_filter > label > input.form-control {
    border-color: #edeef1;
}

#DataTableDivJourneyLog .dataTables_scrollBody {
    border-bottom: none !important;
}

/* Kniha jizd - sloupec Datum/Ridic musi unest celou posadku */
#GPSCarsTableJourneyLog td:first-child,
#GPSCarsTableJourneyLog th:first-child {
    white-space: normal;
}

.GPSCrewName {
    display: block;
    line-height: 1.2;
    word-break: break-word;
}

/* ----Text, ktery se ma vejit na jeden radek (font dopocita FitTextToOneLine v myjs.js.php)---- */
.OneLineFitText {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ----Vyber vozidel v kalendari GPS: checkbox + nazev se SPZ vedle sebe na jednom radku---- */
#LeftMainDivChooseCar .GPSCarChooseItem {
    display: flex;
    align-items: center;
    gap: 4px;
    float: left;
    width: 260px;
    max-width: 100%;
    margin-bottom: 5px;
}

#LeftMainDivChooseCar .GPSCarChooseItem > input[type="checkbox"],
#LeftMainDivChooseCar .GPSCarChooseItem > .icheckbox_square-green {
    flex: 0 0 auto;
}

/* FullCalendar updates */
#GPSLocationCalendarFull td.fc-event-container {
    cursor: pointer;
}

h2.fc-toolbar-title {
    text-transform: capitalize;
}

div.fc-event-main {
    padding: 4px !important;
}

div.fc-event-time {
    overflow: visible !important;
}

button.fc-button-primary {
    background-color: #3c8dbc !important;
    border-color: #aaa !important;
}

button.fc-button-primary:hover {
    color: #f00 !important;
}

table.fc-col-header > thead {
    background-color: #ddd;
    text-transform: capitalize;
    font-size: 1.2em;
}

div.fc-daygrid-day-top > a {
    font-weight: bold;
    color: #777;
    border-left: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background-color: #fafafa;
}

a.fc-event {
    box-shadow: 1px 1px 1px #aaa;
}

a.fc-event:hover {
    box-shadow: none;
}

.fc-daygrid-event,
.fc-timegrid-event .fc-event-main {
    border-radius: 6px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    border: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    overflow: hidden;
}

.fc-daygrid-event:hover,
.fc-timegrid-event:hover .fc-event-main {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    cursor: pointer;
}

/* ----LOGIN, REGISTRACE, ZAPOMENUTE HESLO---- */
.login-logo {
    font-size: 24px;
    text-align: center;
    margin-bottom: 10px;
    font-weight: 300;
    color: #fff;
}

div.LoginLangSelect > a > img {
    max-height: 20px;
    margin-right: 7px;
    filter: grayscale(100%);
}

div.LoginLangSelect > a:HOVER > img {
    filter: none;
}

.login-page {
    height: auto !important;
    background: url('/img/backgrounds-login.php') no-repeat center center fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.login-box {
    width: 420px;
    padding-bottom: 40px;
    margin-bottom: 40px;
}

div.login-box > div.card > div.card-footer > a {
    color: #888;
}

div.login-box > div.card > div.card-footer > a:hover {
    color: #000;
}

div.login-box h4.header {
    font-size: 19px;
    border-bottom: 1px solid #d5e3ef;
    line-height: 28px;
    margin-bottom: 16px;
    margin-top: 0px;
    padding-bottom: 4px;
    font-weight: lighter;
    color: #478fca;
}

#login-box-body div.card-header {
    background: radial-gradient(ellipse at bottom, #6c757d 0%, #586169 100%);
    color: #fff !important;
}

#login-box-body:hover div.card-header {
    background: radial-gradient(ellipse at bottom, #586169 0%, #4e575f 100%);
}

#login-box-body h4.header {
    border-bottom: 1px solid #d5e3ef;
}

#register-box-body h4.header {
    border-bottom: 1px solid #CF7;
}

@media (min-width: 992px) {
    .modal-dialog {
        width: 600px
    }

;
    .modal-lg {
        width: 900px;
    }

    .modal-xl {
        width: 1200px;
    }
}

@media (min-width: 1100px) {
    .modal-dialog {
        width: 50%;
        max-width: 900px;
    }

    .modal-lg {
        width: 75%;
        max-width: 1400px;
    }

    .modal-xl {
        width: 94%;
        max-width: 1900px;
    }
}

.modal-body-height-100 {
    min-height: calc(100vh - 200px);
    overflow-y: auto;
}

.modal-body .card:last-of-type {
    margin-bottom: 0.25rem !important;
}

body.modal-open {
    overflow: visible;
}

.login-box-body,
.register-box-body,
.forgot-password-body {
    background: #f8f6f8;
    padding: 0px;
    color: #444;
    border-top: 0;
    color: #666;
    -webkit-box-shadow: 0 10px 6px -6px #777;
    -moz-box-shadow: 0 10px 6px -6px #777;
    box-shadow: 0 10px 6px -6px #777;
    border-bottom: 1px solid rgba(50, 50, 50, 0.33);
    border: 1px solid #CCC;
    display: none;
}

.toolbar-forgot-register {
    border-top-width: 1px;
    background: #5090C1;
    border-top: 2px solid #597597;
    box-sizing: border-box;
    font-size: 13px;
    line-height: 1.5;
}

.toolbar-forgot-register .left {
    text-align: left;
    width: 45%;
    display: inline-block;
    padding: 9px 0 11px;
}

.toolbar-forgot-register .right {
    float: right;
    text-align: right;
    display: inline-block;
    padding: 9px 11px 11px;
}

.forgot-password-link {
    color: #FE9;
    width: 50%;
    margin-left: 11px;
}

.user-signup-link {
    color: #CF7;
    width: 50%;
    margin-right: 11px;
}

.col-form-label {
    font-weight: 600;
    padding-top: 0px;
    padding-bottom: 0px;
}

.form-label {
    font-weight: 600;
    margin-bottom: 0.1rem;
}

.login-box-body .form-control-feedback,
.register-box-body .form-control-feedback {
    color: #777;
}

/* ----MOBILY A UPRAVY PRO MALY DISPLAY---- */
@media (max-width: 768px) {
    .login-box {
        width: 90%;
        margin-top: 20px;
    }

    #main-content.content-wrapper {
        padding-top: 50px;
    }

    .main-sidebar, .left-side {
        padding-top: 50px;
    }

    section.content > div.row > div.col-sm-12 {
        padding-left: 5px;
        padding-right: 5px;
    }

    section.content > div.row > div.col-md-12 {
        padding-left: 5px;
        padding-right: 5px;
    }

    section.content {
        padding: 10px;
    }
}

span.GoToSettingModule a {
    text-decoration: none;
    color: #aaa;
    padding-left: 20px;
    font-size: 0.9em;
}

span.GoToSettingModule a:hover {
    color: #f00;
}

.modal-header {
    border-bottom: 1px solid #e5e5e5;
    background-color: #367fa9;
    color: #fff;
    padding: 0.8rem 0.8rem;
}

.modal-footer {
    border-top-color: #105071;
    margin-top: 0px;
}

.modal-footer {
    border-top: 1px solid #e5e5e5;
    background-color: #d3d3d3;
}

.modal > .modal-dialog {
    padding-bottom: 50px;
}

.modal.draggable > .modal-dialog > .modal-content > .modal-header {
    cursor: move;
}

.modal.draggable > .modal-dialog > .modal-content > form > .modal-header {
    cursor: move;
}

/* ----NAVIGACE, MENU---- */
div.container-fluid > ul.navbar-nav-white-text > li.nav-item > div.nav-link {
    color: #f0f0f0 !important;
}

div.container-fluid > ul.navbar-nav-white-text > li.nav-item > div.nav-link:hover {
    color: #fff !important;
}

div.container-fluid > ul.navbar-nav-white-text > li.nav-item > a.nav-link {
    color: #f0f0f0 !important;
}

div.container-fluid > ul.navbar-nav-white-text > li.nav-item > a.nav-link:hover {
    color: #f0f0f0 !important;
}

div.container-fluid > ul.navbar-nav > li.nav-item > a.nav-link {
    font-size: 1em;
}

div.container-fluid > ul.navbar-nav > li.nav-item > ul > a {
    text-decoration: none;
}

div.container-fluid > ul.navbar-nav > li.nav-item > ul > li > a.btn-secondary {
    border: 1px solid #ddd;
    padding: 5px;
    margin: 5px;
}

.sidebar-wrapper .sidebar-menu > .nav-item > ul.nav-treeview {
    background-color: #3d474f;
}

.sidebar-wrapper {
    padding-top: 0.2em !important;
}

.NavBarGrey > a:first-child {
    margin-left: -15px !important;
}

.NavBarGrey > a {
    font-size: 1.2em;
    margin-left: 0px !important;
}

.NavBarGrey > a:hover {
    background-color: #e0e0e0 !important;
}

.sidebar-mini.sidebar-collapse .sidebar-menu > li > a > i.famenuinfo {
    display: none !important;
    -webkit-transform: translateZ(0)
}

.user-panel {
    border-top: 1px solid var(--bs-border-color);
}

.sidebar-mini.sidebar-collapse .user-panel > div.spravce {
    display: none !important;
    -webkit-transform: translateZ(0)
}

.user-panel > div.spravce {
    color: #ccc;
}

.user-panel > div.spravce:hover {
    color: #fff;
}

.user-panel > div.spravce > a {
    text-decoration: none;
}

.user-panel > div.spravce > a:hover {
    color: #fff;
}

.main-header > .navbar {
    border-bottom: 2px solid #87b87f;
    height: 50px;
}

div.spolecnost {
    font-weight: 400;
    color: #e0e0e0;
    font-size: 1.2rem;
}

/* Sidebar napoveda */
.control-sidebar-bg,
.control-sidebar {
    right: -650px;
    width: 650px;
}

@media (min-width: 1600px) {
    .control-sidebar-bg,
    .control-sidebar {
        right: -850px;
        width: 850px;
    }
}

.control-sidebar-heading {
    padding-top: 0px;
    margin-top: 0px;
}

.control-sidebar-heading {
    padding-top: 0px;
    margin-top: 0px;
}

.famenuinfo {
    position: absolute;
    right: 25px;
    top: 50%;
    margin-top: -7px;
}

.famenuinfo + .tooltip > .tooltip-inner {
    background-color: #367fa9;
}

.famenuinfo + .tooltip > .tooltip-arrow {
    border-right-color: #367fa9;
}

.famenuinfo + .tooltip {
    opacity: 1;
}

.tooltipbluetop + .tooltip > .tooltip-inner {
    background-color: #367fa9;
}

.tooltipbluetop + .tooltip > .tooltip-arrow {
    border-top-color: #367fa9;
}

.tooltipbluetop + .tooltip {
    opacity: 1;
}

span.elpodepsano {
    font-size: 12px;
    color: #008d4c;
    font-style: italic;
    font-weight: bold;
}

/* ----Uzivatele form group---- */
#nastaveni_uzivatelu_edit-modal-edit .form-group:hover {
    background-color: #eee;
}

div.FilterSettings {width: 350px;}
div.FilterSettings input {border: 2px solid #3c8dbc;background-color: #f4f4f4;}
div.FilterSettings span.FilterSettingsSearch {border-top: 2px solid #3c8dbc;border-bottom: 2px solid #3c8dbc;cursor:pointer;color:green;}
div.FilterSettings span.FilterSettingsRemove {border-left: 1px solid #3c8dbc;border-top: 2px solid #3c8dbc;border-bottom: 2px solid #3c8dbc;border-right: 2px solid #3c8dbc;cursor:pointer;color:red;}

/* ----OBSAH---- */
.content-header h1 {
    display: inline;
    margin-right: 20px;
}

.content-wrapper, .right-side {
    font-size: 12px;
}

.sidebar-menu > li .badge {
    margin: 2px 0px 3px 4px;
    background-color: #3c8dbc;
}

li.sidebar-submenu-item.active.menu-open {
    background-color: #555;
}

.sidebar-menu .nav-item > .nav-link {
    margin-bottom: 0.1rem;
}

.nav-link {
    padding-top: 0.4rem;
    padding-right: 0.8rem;
    padding-bottom: 0.4rem;
    padding-left: 0.8rem;
}

ul.nav > li.nav-item {cursor: pointer;}

.sidebar-wrapper .sidebar-menu > .nav-item.menu-open > .nav-link {
    border-left: 3px rgb(109.8, 168, 253.8) solid;
}

/* ----OBSAH->NOVINKY---- */
#ajax-box-primary-novinky span.typ {
    padding-right: 20px;
    font-size: 14px;
}

#ajax-box-primary-novinky span.zobrazeni {
    font-size: 13px;
    color: #888;
}

#ajax-box-primary-novinky span.zapsal {
    font-size: 12px;
    color: #888;
    font-style: italic;
}

div.novinka div.zapsal {
    font-size: 0.7rem;
    color: #888;
    font-style: italic;
}

#ajax-box-primary-novinky div.zapsal {
    font-size: 12px;
    color: #888;
    font-style: italic;
}

#ajax-box-primary-novinky div.obsah {
    font-size: 13px;
    color: #000;
    margin: 5px 0px 5px 0px;
}

#ajax-box-primary-novinky div.buttons {
    float: right;
    margin-right: 10px;
}

#ajax-box-primary-novinky div.rows {
    width: 100%;
    margin-left: 0px;
}

#ajax-box-primary-novinky div.novinka {
    padding: 1px 10px 4px 10px;
    border-left-width: 5px;
    border-left-style: solid;
    background-color: #f9f9f9;
}

#ajax-box-primary-novinky h5 {
    font-weight: bold;
    margin: 4px 10px 1px 0px;
}

#ajax-box-primary-novinky hr {
    margin: 12px 0px 12px 0px;
}

#novinky-modal-edit .bootstrap-select {
    width: 270px
}

div.NovinkyObsahMainWrapperType3 div.row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
}

div.NovinkyObsahMainWrapperType3 div.row > [class*='col-'] {
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 1199px) {
    div.NovinkyObsahRightContent {
        padding-left: 0px;
        margin-top: 10px;
    }
}

table.gtasktableh tbody tr {
    cursor: pointer;
}

.gmainleft {
    width: 40%;
}

.gmainright {
    width: 60%;
}

/* ----Wiki---- */
#ajax-box-primary-wiki div.WikiDocName {
    background-color: #ddd;
}

#ajax-box-primary-wiki h3.WikiDocName {
    margin: 0px 5px 0px 0px;
    padding: 6px 10px 2px 0px;
    font-size: 22px;
    color: #575757;
    display: inline;
}

#Wiki-modal-show-versions div.WikiDocName {
    background-color: #ddd;
    padding: 3px 0px 0px 10px;
}

#Wiki-modal-show-versions h3.WikiDocName {
    margin: 0px 5px 0px 0px;
    padding: 4px 10px 3px 0px;
    font-size: 22px;
    color: #575757;
}

#ajax-box-primary-wiki small.WikiFolderNameFromSearch {
    vertical-align: super;
}

#ajax-box-primary-wiki div.WikiDocTags {
    margin: 0px 5px 5px 10px;
    padding: 0px 10px 0px 0px;
    font-size: 12px;
    color: #575757;
}

#Wiki-modal-show-versions div.WikiDocTags {
    margin: 4px 5px 5px 10px;
    padding: 0px 10px 0px 0px;
    font-size: 12px;
    color: #575757;
}

#ajax-box-primary-wiki div.WikiDocTags small.label {
    margin-right: 5px;
    font-size: 10px;
    font-weight: bold;
}

#Wiki-modal-show-versions div.WikiDocTags small.label {
    margin-right: 5px;
    font-size: 10px;
    font-weight: bold;
}

#ajax-box-primary-wiki div.WikiDocContent {
    margin: 0px 5px 5px 10px;
    padding: 0px 10px 0px 0px;
    font-size: 12px;
    color: #575757;
}

#Wiki-modal-show-versions div.WikiDocContent {
    margin: 0px 5px 5px 10px;
    padding: 0px 10px 0px 0px;
    font-size: 12px;
    color: #575757;
}

#ajax-box-primary-wiki div.WikiDocFiles {
    margin: 0px 5px 5px 10px;
    padding: 0px 10px 0px 0px;
    color: #575757;
    font-size: 12px;
}

#Wiki-modal-show-versions div.WikiDocFiles {
    margin: 0px 5px 5px 10px;
    padding: 0px 10px 0px 0px;
    color: #575757;
    font-size: 12px;
}

#ajax-box-primary-wiki div.WikiDocFooter {
    margin: 0px 4px 6px 8px;
    padding: 0px 10px 0px 0px;
    font-size: 12px;
    color: #787878;
}

#Wiki-modal-show-versions div.WikiDocFooter {
    margin: 0px 5px 15px 10px;
    padding: 0px 10px 0px 0px;
    font-size: 12px;
    color: #787878;
}

#wiki-box-dokumenty div.card, #wiki-box-dokumenty div.card-header {
    border-radius: 0px;
}


#ajax-box-primary-wiki div.WikiDocsDelimiter {
    margin: 0px 5px 15px 10px;
}

#ajax-box-primary-wiki div.borderbottom {
    border-bottom: 1px solid #f5f5f5;
    padding-left: 0px;
    margin-bottom: 3px;
}

#ajax-box-primary-wiki div.treeview li.node-WikiTree {
    padding: 5px 10px !important;
}

#Wiki-modal-edit li.select2-selection__choice {
    background-color: #337ab7;
    color: #fff;
}

#Wiki-modal-edit .select2-selection__choice__remove {
    color: #fff;
}

/* ----DASHBOARD rychle prehled */
#ajax-box-primary-dashboard div.box-header {
    background-color: #fafafa;
}

#ajax-box-primary-dashboard table.dashboard_dovolene thead th {
    font-weight: bold;
    padding-right: 20px;
}

/* ---- OBSAH->ukoly TASKS ---- */
#ajax-box-primary-ukoly span.typ {
    padding-right: 20px;
    font-size: 14px;
}

#ajax-box-primary-ukoly span.zobrazeni {
    font-size: 13px;
    color: #888;
}

#ajax-box-primary-ukoly span.zapsal {
    font-size: 12px;
    color: #888;
    font-style: italic;
}

#ajax-box-primary-ukoly div.obsah {
    font-size: 13px;
    color: #000;
    margin: 5px 0px 5px 0px;
}

#ajax-box-primary-ukoly div.buttons-with-bottom-margin > button {
    margin-bottom: 5px;
    min-width: 110px;
}

#ajax-box-primary-ukoly .buttons-with-bottom-margin span.badge {
    margin: -1px 0px 0px 0px;
}

button.btn-filter-active {
    font-weight: bold;
    border: 1px solid #000;
}

button.btn-filter-active:before {
    content: "> ";
}

button.btn-filter-active:after {
    content: " <";
}

#ajax-box-primary-ukoly div.buttons {
    float: right;
    margin-right: 10px;
}

#ajax-box-primary-ukoly div.rows {
    width: 100%;
    margin-left: 0px;
}

#ajax-box-primary-ukoly hr {
    margin: 12px 0px 12px 0px;
}

#ukoly-modal-edit .bootstrap-select {
    width: 270px
}

tr.UkolyNotesDiscuss > td {
    background-color: #bbffbb;
}

/* ----OBSAH->NASTENKA---- */
#ajax-box-primary-nastenky div.white_panel_dashboard {
    margin: 10px 0px 0px 0px;
    min-height: 400px;
    position: relative;
    overflow: auto;
}

#ajax-box-primary-nastenky div.Nastenky_main {
    float: left;
    box-shadow: 0 2px 3px #d1d1d1;
    padding: 10px;
    margin: 1px 16px 16px 1px;
    border-radius: 6px;
    max-width: 1024px;
    overflow: hidden;
}

#ajax-box-primary-nastenky div.Nastenky_main:hover {
    border: 1px solid #bbb;
    margin: 0px 15px 15px 0px;
}

#ajax-box-primary-nastenky div.Nastenky_main h2 {
    font-size: 18px;
    margin: 0px 0px 5px 0px;
}

#ajax-box-primary-nastenky div.creator {
    font-size: 12px;
    color: #aaa;
}

#ajax-box-primary-nastenky div.pinned {
    float: right;
    margin: -5px -3px 0px 0px;
}

#ajax-box-primary-nastenky div.Nastenky_main img {
    max-width: 100%;
    height: auto;
}

#ajax-box-primary-nastenky div.Nastenky_main .attachments {
    overflow: hidden;
}

/* ----OBSAH->adresar---- */
#ajax-box-primary-adresar .box-header {
    margin: 0px;
    padding-bottom: 0px;
}

#ajax-box-primary-adresar h3 {
    margin: 0px;
    color: #317eac;
}

/* ----OBSAH->Listinna posta---- */

div.custom-treeview-wrapper {
    padding: 0px;
    margin: 0px;
    max-width: 100%;
    border: none;
    box-shadow: none;
}

div.custom-treeview-wrapper .treeview-expander {
    font-weight: bolder;
    font-size: 1.2rem;
}

div.custom-treeview-wrapper .treeview-node-content {
    border-bottom: 1px solid #ddd;
}

div.custom-treeview-wrapper li {
    margin: 0px;
}

div.custom-treeview-wrapper .treeview-node-content:hover {
    background-color: #aaaaaa;
}

div.custom-treeview-wrapper > ul {
    padding-left: 0px;
}

#ajax-box-primary-dokumenty div.nadpisdokumenty {
    font-size: 14px;
    font-weight: bolder;
}

#ajax-box-primary-dokumenty .nadpisdokumenty span {
    color: #78a963;
}

#ajax-box-primary-dokumenty .popovercelypopis {
    font-size: 15px;
}

#ajax-box-primary-schvalovani .btn-group span.badge {
    background-color: #777;
    margin: -1px 0px 0px 0px;
}

span.schvalovanistatus0 {
    color: #3c8dbc;
}

span.schvalovanistatus2 {
    color: #008017;
}

span.schvalovanistatus3 {
    color: #b70000;
}

#ajax-box-primary-galerie td.gallery-arrow {
    font-size: 48px;
    font-weight: 700;
}

#ajax-box-primary-galerie .fotorama__wrap {
    margin: 0 auto;
}

.calendarrecordremidershow {
    display: none;
}

.calendarrecordnewnotif {
    display: none;
}

@media (max-width: 768px) {
    #ajax-box-primary-RozpisPraci .input-sm {
        padding: 2px 4px;
        font-size: 10px;
        line-height: 1.2;
        border-radius: 3px;
    }
}

#ajax-box-primary-location .map-point-circle {
    width: 10px;
    height: 10px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background-color: #000;
}

#ajax-box-primary-location .map-point-overlay {
    background-color: #f39c12;
    color: #fff;
    padding: 0px 2px 0px 2px;
}

/* ----OBSAH->rezervace---- */
div.fc-event-main {
    overflow: hidden !important;
}

#ajax-box-primary-rezervace table.kalendar {
    border: 1px solid #bbb;
    box-shadow: 2px 2px 1px #888888;
    margin-top: 10px;
    border-collapse: collapse;
    width: 100%;
}

#ajax-box-primary-rezervace table.kalendar tr.caption td {
    text-align: center;
    background-color: #2980b9;
    color: #fff;
    font-weight: normal;
}

#ajax-box-primary-rezervace table.kalendar tr.caption td a {
    color: #fff;
}

#ajax-box-primary-rezervace table.kalendar .calendar-btn {
    text-align: center !important;
    background: #2980b9;
    color: #ffffff;
    height: 30px;
    vertical-align: middle !important;
}

#ajax-box-primary-rezervace table.kalendar .calendar-btn span {
    cursor: pointer;
    font-size: 13px !important;
}

#ajax-box-primary-rezervace table.kalendar tr {
    border: 1px solid #bbb;
}

#ajax-box-primary-rezervace table.kalendar tr td {
    border: 1px solid #bbb;
    padding: 5px;
}

#ajax-box-primary-rezervace table.kalendar tr.daynames td {
    padding: 2px 5px 2px 5px;
}

#ajax-box-primary-rezervace table.kalendar tr td.nonworkdays {
    background-color: #99FF33;
    font-weight: bold;
    text-align: center;
    min-width: 120px;
    width: 14%;
}

#ajax-box-primary-rezervace table.kalendar tr td.description {
    background-color: #2980b9;
    color: #fff;
    font-weight: bold;
}

#ajax-box-primary-rezervace table.kalendar tr td.dayn {
    background-color: #efefef;
    font-weight: bold;
    text-align: center;
    min-width: 120px;
    width: 14%;
}

#ajax-box-primary-rezervace table.kalendar tr td.daytoday {
    background-color: #ff0000;
    font-weight: bold;
    text-align: center;
    min-width: 120px;
    width: 14%;
}

table.CalendarTable {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    border-collapse: collapse;
    color: #333;
    font-weight: normal;
}

table.CalendarTable caption {
    text-align: center;
    background-color: #2980b9;
    color: #fff;
    font-weight: bold;
    padding: 3px;
}

table.CalendarTable td {
    text-align: center;
    padding: 3px;
    border: 1px solid #ddd;
    width: 14px;
}

table.CalendarTable td span.den {
    cursor: pointer;
}

table.CalendarTable tr:hover td {
    background-color: #f0f0f0;
}

#ajax-box-primary-dovolene .btn-group span.badge {
    background-color: #999;
    margin: 0px 0px 0px 0px;
}

#ajax-box-primary-dovolene .btn-group .active {
    background-color: #e7e7e7;
    color: #333;
}

table.vacation_list {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    border-collapse: collapse;
    color: #333;
    font-weight: normal;
    border-spacing: 0;
    border-collapse: collapse;
    overflow: hidden;
}

table.vacation_list caption {
    text-align: center;
    background-color: #2980b9;
    color: #fff;
    font-weight: bold;
    padding: 3px;
}

table.vacation_list thead tr th {
    text-align: center;
    padding: 3px;
    width: 14px;
    background-color: #2980b9;
    color: #ffffff;
}

table.vacation_list td {
    text-align: center;
    padding: 0px;
    border: 1px solid #ddd;
    width: 14px;
    position: relative;
}

table.vacation_list th {
    position: relative;
}

table.vacation_list tr:hover td {
    background-color: #ccc;
}

table.vacation_list td span {
    padding: 1px;
}

table.WAMonthReviewAll {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    border-collapse: collapse;
    color: #333;
    font-weight: normal;
    border-spacing: 0;
    border-collapse: collapse;
    overflow: hidden;
}

table.WAMonthReviewAll caption {
    text-align: center;
    background-color: #2980b9;
    color: #fff;
    font-weight: bold;
    padding: 3px;
}

table.WAMonthReviewAll thead tr th {
    text-align: center;
    padding: 3px;
    width: 14px;
    background-color: #2980b9;
    color: #ffffff;
}

table.WAMonthReviewAll tr.thead td {
    text-align: center;
    padding: 3px;
    width: 14px;
    background-color: #2980b9;
    color: #ffffff;
    border-top: none;
}

table.WAMonthReviewAll td {
    text-align: center;
    padding: 0px;
    border: 1px solid #cacaca;
    width: 14px;
    position: relative;
}

table.WAMonthReviewAll th {
    position: relative;
}

table.WAMonthReviewAll td span {
    padding: 1px;
}

/* ----OBSAH->EVOZ REZERVACE---- */
#ajax-box-primary-evoz_rezervace .btn-group span.badge {
    background-color: #999;
    margin: 0px 0px 0px 0px;
}

#ajax-box-primary-evoz_rezervace .btn-group .active {
    background-color: #e7e7e7;
    color: #333;
}

#ajax-box-primary-evoz_rezervace table.kalendar {
    border: 1px solid #bbb;
    box-shadow: 2px 2px 1px #888888;
    margin-top: 10px;
    border-collapse: collapse;
    width: 100%;
}

#ajax-box-primary-evoz_rezervace table.kalendar tr.caption td {
    text-align: center;
    background-color: #2980b9;
    color: #fff;
    font-weight: normal;
}

#ajax-box-primary-evoz_rezervace table.kalendar tr.caption td a {
    color: #fff;
}

#ajax-box-primary-evoz_rezervace table.kalendar .calendar-btn {
    text-align: center !important;
    background: #2980b9;
    color: #ffffff;
    height: 30px;
    vertical-align: middle !important;
}

#ajax-box-primary-evoz_rezervace table.kalendar .calendar-btn span {
    cursor: pointer;
    font-size: 13px !important;
}

#ajax-box-primary-evoz_rezervace table.kalendar tr {
    border: 1px solid #bbb;
}

#ajax-box-primary-evoz_rezervace table.kalendar tr td {
    border: 1px solid #bbb;
    padding: 5px;
}

#ajax-box-primary-evoz_rezervace table.kalendar tr.daynames td {
    padding: 2px 5px 2px 5px;
}

#ajax-box-primary-evoz_rezervace table.kalendar tr td.nonworkdays {
    background-color: #99FF33;
    font-weight: bold;
    text-align: center;
}

#ajax-box-primary-evoz_rezervace table.kalendar tr td.description {
    background-color: #2980b9;
    color: #fff;
    font-weight: bold;
}

#ajax-box-primary-evoz_rezervace table.kalendar tr td.dayn {
    background-color: #efefef;
    font-weight: bold;
    text-align: center;
}

#ajax-box-primary-evoz_rezervace table.kalendar tr td div.reservation_hours {
    border-bottom: 1px solid #ccc;
    width: 15px;
}

#ajax-box-primary-evoz_rezervace table.kalendar tr td div.reservation_hours:hover {
    background-color: #eee;
}

#ajax-box-primary-evoz_rezervace table.kalendar tr td div.reservation_hours span.hours {
    color: #999;
}

#ajax-box-primary-evoz_rezervace table.kalendar tr td div.reservation_hours span.hours:hover {
    color: #000;
}

#ajax-box-primary-evoz_rezervace table.kalendar tr td div.reservation_box {
    float: right;
    border: 1px solid #ccc;
    padding-left: 2px;
    width: 80%;
    background-color: #f2f2f2;
    font-size: 0.8em;
}

/* ----OBSAH->DOCHAZKA---- */
.table_evenoddrow {
    border-collapse: collapse;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    border: 1px solid #ccc;
}

.table_evenoddrow tr td {
    padding: 5px 8px 5px 8px;
}

.table_evenoddrow tr td.strong {
    font-weight: bold;
}

.table_evenoddrow tr:hover {
    background-color: #EBF2FF;
}

.table_evenoddrow tr:hover:nth-of-type(odd) td {
    background-color: #EBF2FF;
}

.table_evenoddrow tr:nth-of-type(odd) td {
    background-color: #f1f1f1;
}

/* ====== WORK ATTENDANCE CALENDAR - MODERN ====== */
#ajax-box-primary-dochazka table.workattendance {
    background-color: var(--wa-calendar-bg);
    border: 1px solid var(--wa-calendar-border);
    border-radius: var(--wa-calendar-radius);
    box-shadow: var(--wa-calendar-shadow);
    margin-top: 0.75rem;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
}

#ajax-box-primary-dochazka table.workattendance thead tr th {
    text-align: center;
    background-color: var(--wa-header-bg);
    color: var(--wa-header-color);
    font-weight: 600;
    padding: 0.75rem 0.5rem;
}

#ajax-box-primary-dochazka table.workattendance tr td {
    border: 1px solid var(--bs-gray-300, #dee2e6);
    border-top: none;
    border-left: none;
    padding: 0.5rem;
    font-size: 0.9rem;
    vertical-align: top;
    transition: background-color var(--wa-transition);
}

#ajax-box-primary-dochazka table.workattendance tr td:first-child {
    border-left: 1px solid var(--bs-gray-300, #dee2e6);
}

#ajax-box-primary-dochazka table.workattendance tr td:hover {
    background-color: var(--wa-cell-hover-bg);
}

#ajax-box-primary-dochazka table.workattendance tr.daynames td {
    padding: 0.375rem 0.5rem;
    font-weight: 500;
}

#ajax-box-primary-dochazka table.workattendance tr.daynames:not(:first-child) {
    border-top: 2px solid var(--bs-gray-400, #ced4da);
}

#ajax-box-primary-dochazka table.workattendance tr td.nonworkdays {
    background-color: var(--wa-nonworkday-bg);
    color: var(--wa-nonworkday-color);
    font-weight: 500;
    text-align: center;
}

#ajax-box-primary-dochazka table.workattendance tr td.nonworkdays:hover {
    background-color: #d5ebd7;
}

#ajax-box-primary-dochazka table.workattendance tr td.description {
    background-color: var(--wa-header-bg);
    color: var(--wa-header-color);
    font-weight: 500;
}

#ajax-box-primary-dochazka table.workattendance tr td.dayn {
    background-color: var(--wa-dayn-bg);
    font-weight: 500;
    text-align: center;
}

#ajax-box-primary-dochazka table.workattendance tr td.dayn.red,
#ajax-box-primary-dochazka table.workattendance tr td.nonworkdays.red {
    background-color: var(--wa-today-bg);
    box-shadow: inset 0 0 0 2px var(--wa-today-border);
    font-weight: 600;
}

/* Navigation buttons */
#ajax-box-primary-dochazka table.workattendance .wa-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: rgba(255,255,255,0.15);
    color: inherit;
    cursor: pointer;
    transition: background-color var(--wa-transition), transform var(--wa-transition);
}

#ajax-box-primary-dochazka table.workattendance .wa-nav-btn:hover {
    background-color: rgba(255,255,255,0.25);
    transform: scale(1.1);
}

/* Time badges */
#ajax-box-primary-dochazka table.workattendance .wa-time-badge {
    display: inline-block;
    padding: 0.125rem 0.375rem;
    border-radius: 0.25rem;
    font-size: 0.85rem;
    font-weight: 500;
    margin-right: 0.25rem;
}

/* Day content container */
#ajax-box-primary-dochazka table.workattendance .wa-day-content {
    min-height: 1.25rem;
    margin-bottom: 0.25rem;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    #ajax-box-primary-dochazka table.workattendance tr td {
        padding: 0.375rem;
        font-size: 0.85rem;
    }
}

/* Linked day hover - highlights both day number and content cells together */
#ajax-box-primary-dochazka table.workattendance td.wa-day-hover {
    background-color: var(--wa-cell-hover-bg) !important;
    cursor: pointer;
}

#ajax-box-primary-dochazka table.workattendance td.nonworkdays.wa-day-hover {
    background-color: #d5ebd7 !important;
}

/* ----OBSAH->Protocols---- */
div.ProtocolSection {
    padding: 3px 3px 3px 3px;
}

div.ProtocolSection > div.row {
    margin: 0px;
}

div.ProtocolSection table td.ProtocolsTableHeading {
    background-color: #eee;
}

div.ProtocolSection table {
    margin-bottom: 0px;
}

div.ProtocolSection > div {
    padding: 0px;
}

div.ProtocolSection > div > div {
    padding: 0px;
}

div.ProtocolSection > div > div > div.ProtocolPartLabel {
    margin: 1px 1px 1px 1px;
    padding: 3px 5px 3px 5px;
    background-color: #eee;
}

div.ProtocolSection > div > div > div.ProtocolPartData {
    margin: 1px 1px 1px 1px;
    padding: 3px 5px 3px 5px;
    background-color: #fafafa;
}

#ajax-box-primary-cestaky-cestak_print .inputdotted {
    border: none;
    border-bottom: 1px dotted;
}

#ajax-box-primary-cestaky-cestak_print input {
    background-color: rgba(52, 152, 219, 0.4);
    height: 20px;
    padding: 0px 1px 0px 1px;
}

#ajax-box-primary-cestaky-cestak_print span.typ {
    padding-right: 20px;
    font-size: 14px;
}

#ajax-box-primary-cestaky-cestak_print span.zobrazeni {
    font-size: 13px;
    color: #888;
}

#ajax-box-primary-cestaky-cestak_print span.zapsal {
    font-size: 12px;
    color: #888;
    font-style: italic;
}

#ajax-box-primary-cestaky-cestak_print div.obsah {
    font-size: 13px;
    color: #000;
    margin: 5px 0px 5px 0px;
}

#ajax-box-primary-cestaky-cestak_print span.elpodepsano {
    font-size: 12px;
    color: #008d4c;
    font-style: italic;
    font-weight: bold;
}

#ajax-box-primary-cestaky-cestak_print p {
    margin-bottom: 0px;
}

#ajax-box-primary-cestaky-cestak_print table.tabulka-cesta {
    border: solid 1px;
}

#ajax-box-primary-cestaky-cestak_print table.tabulka-cesta td {
    border: solid 1px;
}

#ajax-box-primary-cestaky-cestak_print table.tabulka-cesta tr {
    border: solid 1px;
}

#ajax-box-primary-cestaky-cestak_print table.tabulka-cesta textarea {
    height: 40px;
    background-color: rgba(52, 152, 219, 0.4);
}

#ajax-box-primary-cestaky-cestak_print table.tabulka-predpis {
    border: solid 1px;
}

#ajax-box-primary-cestaky-cestak_print table.tabulka-predpis td {
    border: solid 1px;
    margin-bottom: 5px;
}

#ajax-box-primary-cestaky-cestak_print table.tabulka-predpis tr {
    border: solid 1px;
    height: 20px;
}

#ajax-box-primary-cestaky-cestak_print table.velka {
    border: solid 1px;

}

#ajax-box-primary-cestaky-cestak_print table.velka td {
    border: solid 1px;
}

#ajax-box-primary-cestaky-cestak_print table.velka tr {
    border: solid 1px;
}

#ajax-box-primary-cestaky-cestak_print input-date-time {
    border: none;
}

#ajax-box-primary-cestaky-cestak_print table.tabulka-zaloha td {
    padding-bottom: 5px;
}

#TextNadPolozkamiBold.active {
    font-weight: bold;
    color: #000 !important;
    background-color: #6cff6c;
}

#faktury_vydane_add_edit-form div.sp-replacer {
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 0px;
    padding-bottom: 0px;
}

#faktury_vydane_add_edit-form div.sp-preview {
    width: 20px !important;
    height: 15px !important;
    margin-right: 0px !important;
}

#faktury_vydane_add_edit-form div.sp-dd {
    display: none;
}

#faktury_vydane_add-modal-edit .chosen-container {
    min-width: 500px !important;
}

div.typodpovedi {
    margin-left: 220px;
}

div.typodpovedi div.moznost {
    margin-top: 5px;
}

div.ankety-otazky-pocet {
    padding-left: 34px;
}

div.ankety-otazky-pocet > .badge {
    background-color: #78a963;
}

#ajax-box-primary-ankety table.statsmoznosti span.procent {
    display: inline-block;
    vertical-align: top;
}

#ajax-box-primary-ankety table.statsmoznosti span.statsbar {
    margin-left: 0px;
    padding: 0px;
    height: 14px;
}

#ajax-box-primary-ankety table.statsmoznosti span.stastsbar-container {
    display: inline-block;
    background-color: #f0f0f0;
    margin: 0px 5px 0px 5px;;
    height: 14px;
}

#ajax-box-primary-ankety table.statsmoznosti img.statsimg {
    max-width: 80px;
}

#ankety_vysledky_vyplnene_detail-modal img.statsimg {
    max-width: 80px;
}

#table-testy-upravit-otazky ul {
    padding-left: 15px;
}

img.testy-otazky-img {
    max-width: 150px;
    max-height: 150px;
}

img.testy-varianty-img {
    max-width: 150px;
    max-height: 150px;
}

img.testyotazkaobrazek {
    max-width: 400px;
    max-height: 400px;
    margin: 5px;
}

img.testylogo {
    max-width: 150px;
    max-height: 150px;
}

div.testy-otazky-pocet {
    padding-left: 34px;
}

div.testy-otazky-pocet > .badge {
    background-color: #78a963;
}

#ajax-box-primary-testy table.statsmoznosti span.procent {
    display: inline-block;
    vertical-align: top;
}

#ajax-box-primary-testy table.statsmoznosti span.statsbar {
    margin-left: 0px;
    padding: 0px;
    height: 14px;
}

#ajax-box-primary-testy table.statsmoznosti span.stastsbar-container {
    display: inline-block;
    background-color: #f0f0f0;
    margin: 0px 5px 0px 5px;;
    height: 14px;
}

#ajax-box-primary-testy table.statsmoznosti img.statsimg {
    max-width: 80px;
}

#testy_vysledky_vyplnene_detail-modal img.statsimg {
    max-width: 80px;
}

table.testy-odpovedi-varinaty thead tr th {
    color: #333;
    background-color: #eaeaea;
    padding: 5px;
    text-align: center;
}

table.testy-odpovedi-varinaty tbody tr td {
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 10px;
    padding-right: 10px;
    vertical-align: top;
    text-align: left;
}

/* ----OBSAH->Zamestnanci---- */
#Zamestnanci .Treant > .node {
}

#Zamestnanci .Treant > p {
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-weight: bold;
    font-size: 10px;
}

#Zamestnanci .ZamestnanciTreeChart p.node-contact {
    word-spacing: 100vw;
}

#Zamestnanci .node-name {
    font-weight: bold;
}

#Zamestnanci .ZamestnanciTreeChart {
    padding: 10px 12px 10px 12px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background-color: #f1f1f1;
    border: 1px solid #666;
    width: 250px;
    min-height: 150px;
    font-family: Tahoma;
    font-size: 12px;
    color: #000;
    box-shadow: 0 2px 3px #d1d1d1;
}

#BasicCompany {
    min-height: 20px !important;
}

#Zamestnanci .ZamestnanciTreeChart img {
    margin-right: 10px;
}

#Zamestnanci .Treant .collapse-switch {
    width: 100%;
    height: 100%;
    border: none;
}

#Zamestnanci .Treant .node.collapsed {
    background-color: #ddd;
    border: 1px solid #933;
}

#Zamestnanci .Treant .node.collapsed .collapse-switch {
    background: none;
}

#Zamestnanci .Treant > a:link {
    color: #ffffff;
}

#Zamestnanci .Treant > a:visited {
    color: #ffffff;
}

#Zamestnanci .Treant > a:link:hover {
    color: #636363;
}

#ajax-box-primary-smeny .control-label {
    height: 30px;
    vertical-align: middle;
    top: 5px;
}

#ajax-box-primary-smeny table select.form-control {
    display: inline;
}

p {
    margin-top: 0;
    margin-bottom: 0;
}

div.EmailContent p {
    margin: 0px;
}

span.EmailSendAdditionalTo > i.fa-times:hover {
    color: red;
    cursor: pointer;
}

span.EmailSendAdditionalTo > i.fa-times:hover {
    color: red;
    cursor: pointer;
}

div.RelatedDocuments {
    background-color: #fafafa;
    padding: 5px 5px 5px 10px;
    border-radius: 10px;
    border: 1px solid #ddd;
    margin: 0px 5px 2px 0px;
    max-height: 300px;
    overflow-y: scroll;
    overflow-x: hidden;
}

div.RelatedDocuments:hover {
    background-color: #f0f0f0;
}

div.RelatedDocumentsActive {
    border: 1px solid #008d4c !important;
    background-color: #fff8dc;
}

#ajax-box-primary-constructions .control-label {
    height: 30px;
    vertical-align: middle;
    top: 5px;
}

#ajax-box-primary-constructions table select.form-control {
    display: inline;
}

#ajax-box-primary-ISDScz div.ISDSczHeaderAll {
    display: none;
}

#ajax-box-primary-ISDScz .control-label {
    height: 30px;
    vertical-align: middle;
    top: 5px;
}

#ajax-box-primary-ISDScz table select.form-control {
    display: inline;
}

#ajax-box-primary-ISDScz #ISDSczNewConnectionInfo {
    background-color: #eee;
    border: 1px solid #ddd;
    margin: 2px 0px 9px 0px;
    padding: 5px;
}

/* ----OBSAH->Request v2---- */
#ajax-box-primary-request_detail div.info-box {
    margin-bottom: 5px;
}

#ajax-box-primary-request_detail div.info-box div.bottom-link {
    position: absolute;
    bottom: 8px;
    left: 115px;
}

#Evoz-modal-edit input.form-control {
    padding-right: 10px;
}

/* ----OBSAH->Vyrobky Products---- */
#ajax-box-primary-products input.form-control {
    padding-right: 10px;
}

div.card > table tr:hover {
    background-color: #c8c8c8;
}

div.card > table tr:hover td {
    background-color: #c8c8c8;
}

div.card > table tr:hover td > span.action-icons > i {
    color: #444;
}

#ajax-box-primary-CRM .control-label {
    height: 30px;
    vertical-align: middle;
    top: 5px;
}

#ajax-box-primary-CRM .box-warning .control-label {
    height: 30px;
    vertical-align: middle;
    top: 0px;
}

#ajax-box-primary-CRM table select.form-control {
    display: inline;
}

#ajax-box-primary-CRM .selectize-control.multi > div.items > div.active {
    background: #efefef;
    color: #000;
}

/* NastaveniDochazka */
#nastaveni_dochazka_users-modal-edit span.select2-selection__rendered {
    padding-top: 4px;
}

#nastaveni_dochazka_users-modal-edit span.select2-selection, .select2-container--default, .select2-selection--single {
    border-radius: 0px;
}

#nastaveni_dochazka_users-modal-edit li.select2-selection__choice {
    background-color: #337ab7;
    color: #fff;
}

#nastaveni_dochazka_users-modal-edit .select2-selection__choice__remove {
    color: #fff;
}

.RagMessage {
    margin-bottom: 15px;
    padding: 10px 15px;
    border-radius: 15px;
}

.RagUserMessage {
    background-color: #f1f0f0;
    margin-left: 20%;
}

.RagAiMessage {
    background-color: #e3f2fd;
    margin-right: 20%;
}

/* Zdroje odpovedi Ai napovedy - rozkliknutelny uryvek z indexovaneho dokumentu.
   Diky nemu si uzivatel odpoved overi misto toho, aby ji musel verit. */
.RagSources {
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    padding-top: 6px;
}

.RagSource {
    padding: 2px 0;
}

.RagSource > summary {
    cursor: pointer;
}

.RagSnippet {
    margin: 4px 0 8px 14px;
    padding: 6px 10px;
    border-left: 3px solid #90caf9;
    background-color: rgba(255, 255, 255, 0.6);
    font-style: italic;
    /* Uryvek je syrovy text z dokumentu, tedy vcetne zalomeni a dlouhych slov. */
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

/* Odkaz [2] v textu odpovedi na cislo zdroje pod ni. */
.RagSourceRef {
    color: #1565c0;
    font-weight: bold;
}

.RagRating {
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    padding-top: 6px;
}

@keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.4;
    }
    100% {
        opacity: 1;
    }
}

#typingIndicator.blinking {
    animation: blink 1.5s linear infinite;
}

/* ConDrawingsTable */
table.ConDrawingsTable th.rotate {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    padding: 5px 0;
}

table.ConDrawingsTable th {
    padding: 5px;
    border: 1px solid #e0e0e0;
    background-color: #f0f0f0;
}

table.ConDrawingsTable {
    border-collapse: collapse;
}

table.ConDrawingsTable td {
    border: 1px solid #e0e0e0;
    padding: 5px;
}

table.ConDrawingsTableEdit td {
    border: 1px solid #e0e0e0;
    padding: 5px;
    min-width: 60px;
}

div.grid-stack-item {
    border: 1px solid #aaa;
    background-color: #eee;
    cursor: pointer;
}

.autocomplete-suggestions {
    border: 1px solid #999;
    background: #FFF;
    overflow: auto;
    cursor: pointer;
}

.autocomplete-suggestion {
    padding: 2px 5px;
    white-space: nowrap;
    overflow: hidden;
}

.autocomplete-selected {
    background: #F0F0F0;
}

.autocomplete-suggestions strong {
    font-weight: normal;
    color: #3399FF;
}

.autocomplete-group {
    padding: 2px 5px;
}

.autocomplete-group strong {
    display: block;
    border-bottom: 1px solid #000;
}

div.BlackBackgroundDiv {
    padding: 7px;
    /* Background, font and indentation */
    background-color: #2a2f3a;
    color: #f8f8f2;
    font-family: monaco, Consolas, 'Lucida Console', monospace;
    font-size: 1.2em;
    --indent-size: 1.7em;
    --indentguide-size: 1px;
    --indentguide-style: solid;
    --indentguide-color: #333;
    --indentguide-color-active: #666;
    --indentguide: var(--indentguide-size) var(--indentguide-style) var(--indentguide-color);
    --indentguide-active: var(--indentguide-size) var(--indentguide-style) var(--indentguide-color-active);

    /* Types colors */
    --string-color: #a3eea0;
    --number-color: #d19a66;
    --boolean-color: #4ba7ef;
    --null-color: #df9cf3;
    --property-color: #6fb3d2;

    /* Collapsed node preview */
    --preview-color: rgba(222, 175, 143, 0.9);

    /* Search highlight color */
    --highlight-color: #6fb3d2;
}

div.BlackBackgroundDiv > div.BlackBackgroundDivText {
    padding: 0px 2em 0px 2.5em;
    color: #6fb3d2;
}

div.BlackBackgroundDiv > div.BlackBackgroundDivLabel {
    padding: 0.5em 0px 0px 0.5em;
    color: #a3eea0;
}

#HWDetail {
    background-color: #2a2f3a;
}

div > canvas.sigPadFullPageCanvas:hover {
    background-color: #eaeaea;
    cursor: crosshair;
}

input.OneTimeCodeInput {
    --otp-digits: 6; /* length */
    --otc-ls: 2ch;
    --otc-gap: 1.25;
    /* private consts */
    --_otp-bgsz: calc(var(--otc-ls) + 1ch);

    all: unset;
    background: linear-gradient(90deg,
    var(--otc-bg, #EEE) calc(var(--otc-gap) * var(--otc-ls)),
    transparent 0
    ) 0 0 / var(--_otp-bgsz) 100%;
    caret-color: var(--otc-cc, #333);
    clip-path: inset(0% calc(var(--otc-ls) / 2) 0% 0%);
    font-family: ui-monospace, monospace;
    font-size: var(--otc-fz, 2.5em);
    inline-size: calc(var(--otc-digits) * var(--_otp-bgsz));
    letter-spacing: var(--otc-ls);
    padding-block: var(--otc-pb, 1ch);
    padding-inline-start: calc(((var(--otc-ls) - 1ch) / 2) * var(--otc-gap));
}

input.OneTimeCodeInputSmaller {
    --otp-digits: 9; /* length */
    --otc-ls: 1.5ch;
    --otc-gap: 1.25;
    /* private consts */
    --_otp-bgsz: calc(var(--otc-ls) + 1ch);

    all: unset;
    background: linear-gradient(90deg,
    var(--otc-bg, #EEE) calc(var(--otc-gap) * var(--otc-ls)),
    transparent 0
    ) 0 0 / var(--_otp-bgsz) 100%;
    caret-color: var(--otc-cc, #333);
    clip-path: inset(0% calc(var(--otc-ls) / 2) 0% 0%);
    font-family: ui-monospace, monospace;
    font-size: var(--otc-fz, 1.8em);
    inline-size: calc(var(--otc-digits) * var(--_otp-bgsz));
    letter-spacing: var(--otc-ls);
    padding-block: var(--otc-pb, 1ch);
    padding-inline-start: calc(((var(--otc-ls) - 1ch) / 2) * var(--otc-gap));
}

div.dt-button-collection {
    left: 0px !important;
}

div.DropZoneSmaller div.dropzone {
    min-height: 80px;
    padding: 5px;
}

div.DropZoneSmaller div.dropzone {
    height: 80px;
    width: 80px;
    border: 1px solid rgba(60, 60, 60, 0.3);
}

div.DropZoneSmaller > div.dropzone > div.dz-preview {
    height: 80px;
    width: 80px;
    margin: 0px;
}

div.DropZoneSmaller > div.dropzone > div.dz-preview > div.dz-image {
    height: 50px;
    width: 80px;
}

div.DropZoneSmaller > div.dropzone > div.dz-preview > div.dz-details {
    padding: 0px;
}

.italic {
    font-style: italic;
}

div.AiSentimentDiv {
    position: relative;
    border: 1px solid #aaa;
    border-radius: 0.3rem;
    padding: 1rem 10px 8px 10px;
    margin: 5px 0;
    font-size: 0.9rem;
}

span.AiSentimentDivTopLabel {
    position: absolute;
    top: -0.8rem;
    left: 0.8rem;
    background: #fff;
    padding: 3px 6px;
    font-size: 0.8rem;
    color: #4e575f;
    border-radius: 0.2rem;
}

div.AiSentimentDiv > span.badge {float:inline-end;}

/* ----OBSAH->Účetnictví: záložky modulu (.acc-tabs)---- */
/* Společný vzhled pro 4 lišty záložek účetnictví (podvojné účetnictví, daňová evidence,
   nastavení modulu, podzáložky přiznání k DPH). Podvojné účetnictví má záložky seskupené
   do rozbalovacích nabídek (cAccConfig::GetDoubleHubTabs), ostatní lišty se na úzkém
   displeji zalamují — místo dalšího zmenšování písma je zalomení řešené jako záměrný
   prvek: řádky odděluje pevná mezera a spodní linku lišty tvoří horní 3px modrý okraj
   karty hned pod ní.
   POZOR na specificitu: výš v tomto souboru je globální barevnost záložek
   (ul.nav-tabs > li.nav-item > a.nav-link, 0-3-3) a níže padding podle velikosti UI
   (body.ui-scale-small li.nav-item > a.nav-link, také 0-3-3). Selektory zde mají 0-4-3
   a vyšší, aby je přebily bez !important — na pořadí v souboru proto nezáleží.
   Pravidla @media print zůstávají v ajax/Accounting.php: jsou specifická pro tisk výkazů
   (skrývají .toppanel, .acc-toolbar-card, ovládání DataTables), ne pro vzhled záložek. */

ul.nav-tabs.acc-tabs {
    /* Spodní linka lišty se nekreslí: při zalomení na víc řádků by vedla jen pod
       posledním řádkem a nad ní by „visely" osamocené záložky. */
    border-bottom: 0;
}

ul.nav-tabs.acc-tabs > li.nav-item {
    /* Ruší -1px překryv z globálního pravidla výš. Překryv nelze použít — bloky
       body.ui-scale-* ho stejně přepisují, takže by lišta vypadala jinak podle
       nastavené velikosti UI. */
    margin-bottom: 0;
}

ul.nav.acc-tabs > li.nav-item > a.nav-link {
    margin-bottom: 0;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    /* Drží výšku záložky na původních 37 px — přidané je jen vodorovné odsazení. */
    line-height: 1.35;
    white-space: nowrap;
}

ul.nav.acc-tabs > li.nav-item > a.nav-link .fa {
    margin-right: 0.3rem;
}

ul.nav-tabs.acc-tabs > li.nav-item > a.nav-link {
    color: #444;
    background-color: #f7f8f9;
    border: 1px solid #b0b0b0;
    border-radius: 0.25rem 0.25rem 0 0;
}

ul.nav-tabs.acc-tabs > li.nav-item > a.nav-link:not(.active):hover {
    color: #23576f;
    background-color: #e6eef4;
    border-color: #8fb0c3;
}

ul.nav-tabs.acc-tabs > li.nav-item > a.nav-link.active {
    font-weight: 600;
    color: #fff;
    background-color: #3c8dbc;
    border-color: #3c8dbc;
}

/* Rozbalovací skupina záložek (Doklady / Výkazy / Daně): položka nabídky ve firemní barvě
   místo výchozí Bootstrap modré #0d6efd, velikost písma jako záložky na liště. */
ul.nav-tabs.acc-tabs .dropdown-menu {
    font-size: 0.875rem;
}

ul.nav-tabs.acc-tabs .dropdown-item.active,
ul.nav-tabs.acc-tabs .dropdown-item:active {
    color: #fff;
    background-color: #3c8dbc;
}

ul.nav-tabs.acc-tabs .dropdown-item .fa-fw {
    margin-right: 0.3rem;
}

/* ----OBSAH->Účetnictví: částky a součty ve výkazech (cAccDoubleReportService::AmountCell)---- */
/* Tabulková čísla (stejná šířka číslic) drží sloupce částek zarovnané; záporné červeně. Součtový
   řádek nese horní linku — v tisku prohlížeč pozadí zahodí, linka zůstane. */
.acc-amount {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.acc-amount-neg {
    color: #dc3545;
}

tr.acc-report-subtotal > td {
    font-weight: 600;
    background-color: #f8f9fa;
}

tr.acc-report-total > td,
tfoot.acc-report-total-foot > tr > td,
tfoot.acc-report-total-foot > tr > th {
    font-weight: 700;
    background-color: #e9ecef;
    border-top: 2px solid #6c757d;
}

/* Proklik z výkazu (řádek → účty → hlavní kniha → zápis → doklad) */
tr.acc-drill,
a.acc-drill {
    cursor: pointer;
}

tr.acc-drill:hover > td {
    background-color: #e6eef4;
}

.acc-drill-icon {
    color: #3c8dbc;
    margin-left: 0.3rem;
    font-size: 0.8em;
}

/* Podzáložky přiznání k DPH jsou druhá úroveň uvnitř záložky „Přiznání k DPH". Sdílejí
   metriky, ale zůstávají pilulkami bez rámečku — dvě opticky totožné lišty nad sebou by
   setřely hierarchii. Opravuje se jen barva: Bootstrap má u aktivní pilulky
   --bs-nav-pills-link-active-bg #0d6efd, což je mimo firemní paletu. */
ul.nav-pills.acc-tabs > li.nav-item > a.nav-link {
    color: #444;
}

ul.nav-pills.acc-tabs > li.nav-item > a.nav-link:not(.active):hover {
    color: #23576f;
    background-color: #e6eef4;
}

ul.nav-pills.acc-tabs > li.nav-item > a.nav-link.active {
    font-weight: 600;
    color: #fff;
    background-color: #3c8dbc;
}

/* Velikosti UI (small / big) pro záložky účetnictví.
   POZOR: rem se tady neškáluje. Proměnná --ui-scale je nastavená na <body>, ale
   html { font-size: calc(16px * var(--ui-scale, 1)) } ji čte z :root, kde zůstává 1 —
   1rem je proto vždy 16 px. Každá velikost tedy musí mít vlastní pravidlo, stejně jako
   zbytek bloku UI Scale níže. */
body.ui-scale-small ul.nav.acc-tabs {
    gap: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) round(down, calc(0.15rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-big ul.nav.acc-tabs {
    gap: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) round(up, calc(0.15rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-small ul.nav.acc-tabs > li.nav-item > a.nav-link {
    padding: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) round(down, calc(0.75rem * var(--ui-scaleA)), 1px);
    font-size: round(down, calc(0.875rem * var(--ui-scale)), 1px);
}

body.ui-scale-big ul.nav.acc-tabs > li.nav-item > a.nav-link {
    padding: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) round(up, calc(0.75rem * var(--ui-scaleA)), 1px);
    font-size: round(up, calc(0.875rem * var(--ui-scale)), 1px);
}

/* === UI Scale presets: Small / Normal / Big === */
:root {
    --ui-scale: 1;
}

html {
    /* Base font size, used for rem calculations */
    font-size: calc(16px * var(--ui-scale, 1));
}

/* Small UI Scale Settings */
body.ui-scale-small {
    --ui-scale: 0.90;
    --ui-scaleA: 0.80;
    /* Base font-size for small scale, rounded down */
    font-size: round(down, calc(16px * var(--ui-scale)), 1px);
}

/* Big UI Scale Settings */
body.ui-scale-big {
    --ui-scale: 1.10;
    --ui-scaleA: 1.20;
    /* Base font-size for big scale, rounded up */
    font-size: round(up, calc(16px * var(--ui-scale)), 1px);
}


/* --- Component Adjustments with Rounding --- */

/* Navbar Padding */
body.ui-scale-small .navbar {
    --bs-navbar-padding-y: round(down, calc(0.5rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-big .navbar {
    --bs-navbar-padding-y: round(up, calc(0.5rem * var(--ui-scaleA)), 1px);
}

/* Sidebar Brand Padding */
body.ui-scale-small .sidebar-brand {
    padding: round(down, calc(0.8125rem * var(--ui-scaleA)), 1px) round(down, calc(0.5rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-big .sidebar-brand {
    padding: round(up, calc(0.8125rem * var(--ui-scaleA)), 1px) round(up, calc(0.5rem * var(--ui-scaleA)), 1px);
}

/* Specific Nav Item Padding */
body.ui-scale-small li.nav-item > a.nav-link {
    margin-bottom: 0px;
    padding: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) round(down, calc(1rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-big li.nav-item > a.nav-link {
    margin-bottom: 0px;
    padding: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) round(up, calc(1rem * var(--ui-scaleA)), 1px);
}

/* Header Title Font Sizes */
body.ui-scale-small h3.nadpis-novinky {
    font-size: round(down, calc(1.2rem * var(--ui-scale)), 1px);
}

body.ui-scale-big h3.nadpis-novinky {
    font-size: round(up, calc(1.2rem * var(--ui-scale)), 1px);
}

body.ui-scale-small h3 {
    font-size: round(down, calc(1.75rem * var(--ui-scale)), 1px);
}

body.ui-scale-big h3 {
    font-size: round(up, calc(1.75rem * var(--ui-scale)), 1px);
}

body.ui-scale-small h4 {
    font-size: round(down, calc(1.5rem * var(--ui-scale)), 1px);
}

body.ui-scale-big h4 {
    font-size: round(up, calc(1.5rem * var(--ui-scale)), 1px);
}

body.ui-scale-small h5 {
    font-size: round(down, calc(1.25rem * var(--ui-scale)), 1px);
}

body.ui-scale-big h5 {
    font-size: round(up, calc(1.25rem * var(--ui-scale)), 1px);
}

body.ui-scale-small h5.card-title {
    font-size: round(down, calc(1.1rem * var(--ui-scale)), 1px);
}

body.ui-scale-big h5.card-title {
    font-size: round(up, calc(1.1rem * var(--ui-scale)), 1px);
}

/* Buttons Scale */
body.ui-scale-small .btn.btn-sm {
    --bs-btn-font-size: round(down, calc(0.875rem * var(--ui-scale)), 1px);
    --bs-btn-padding-y: round(down, calc(0.25rem * var(--ui-scaleA)), 1px);
    --bs-btn-padding-x: round(down, calc(0.5rem * var(--ui-scaleA)), 1px);
    --bs-btn-border-radius: round(down, calc(0.25rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-big .btn.btn-sm {
    --bs-btn-font-size: round(up, calc(0.875rem * var(--ui-scale)), 1px);
    --bs-btn-padding-y: round(up, calc(0.25rem * var(--ui-scaleA)), 1px);
    --bs-btn-padding-x: round(up, calc(0.5rem * var(--ui-scaleA)), 1px);
    --bs-btn-border-radius: round(up, calc(0.25rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-small .btn {
    --bs-btn-font-size: round(down, calc(1rem * var(--ui-scale)), 1px);
    --bs-btn-padding-y: round(down, calc(0.375rem * var(--ui-scaleA)), 1px);
    --bs-btn-padding-x: round(down, calc(0.75rem * var(--ui-scaleA)), 1px);
    --bs-btn-border-radius: round(down, calc(0.375rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-big .btn {
    --bs-btn-font-size: round(up, calc(1rem * var(--ui-scale)), 1px);
    --bs-btn-padding-y: round(up, calc(0.375rem * var(--ui-scaleA)), 1px);
    --bs-btn-padding-x: round(up, calc(0.75rem * var(--ui-scaleA)), 1px);
    --bs-btn-border-radius: round(up, calc(0.375rem * var(--ui-scaleA)), 1px);
}

/* Card Headers */
body.ui-scale-small .card > .card-header.card-header-sm {
    padding: round(down, calc(0.6rem * var(--ui-scaleA)), 1px) round(down, calc(0.8rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-big .card > .card-header.card-header-sm {
    padding: round(up, calc(0.6rem * var(--ui-scaleA)), 1px) round(up, calc(0.8rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-small .card > .card-header {
    padding: round(down, calc(0.8rem * var(--ui-scaleA)), 1px) round(down, calc(0.8rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-big .card > .card-header {
    padding: round(up, calc(0.8rem * var(--ui-scaleA)), 1px) round(up, calc(0.8rem * var(--ui-scaleA)), 1px);
}

/* Form Controls */
body.ui-scale-small .form-control {
    font-size: round(down, calc(1rem * var(--ui-scale)), 1px);
    padding: round(down, calc(0.375rem * var(--ui-scaleA)), 1px) round(down, calc(0.75rem * var(--ui-scaleA)), 1px);
    border-radius: round(down, calc(0.375rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-big .form-control {
    font-size: round(up, calc(1rem * var(--ui-scale)), 1px);
    padding: round(up, calc(0.375rem * var(--ui-scaleA)), 1px) round(up, calc(0.75rem * var(--ui-scaleA)), 1px);
    border-radius: round(up, calc(0.375rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-small .form-select {
    font-size: round(down, calc(1rem * var(--ui-scale)), 1px);
    padding: round(down, calc(0.375rem * var(--ui-scaleA)), 1px) round(down, calc(2.25rem * var(--ui-scaleA)), 1px) round(down, calc(0.375rem * var(--ui-scaleA)), 1px) round(down, calc(0.75rem * var(--ui-scaleA)), 1px);
    border-radius: round(down, calc(0.375rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-big .form-select {
    font-size: round(up, calc(1rem * var(--ui-scale)), 1px);
    padding: round(up, calc(0.375rem * var(--ui-scaleA)), 1px) round(up, calc(2.25rem * var(--ui-scaleA)), 1px) round(up, calc(0.375rem * var(--ui-scaleA)), 1px) round(up, calc(0.75rem * var(--ui-scaleA)), 1px);
    border-radius: round(up, calc(0.375rem * var(--ui-scaleA)), 1px);
}

/* Table Cell Padding */
body.ui-scale-small table.table td,
body.ui-scale-small table.table th {
    padding: round(down, calc(0.5rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-big table.table td,
body.ui-scale-big table.table th {
    padding: round(up, calc(0.5rem * var(--ui-scaleA)), 1px);
}

/* Table Hover Border - compensate padding-top for 1px border */
body.ui-scale-small table.table-hover > tbody > tr:hover > td {
    padding-top: round(down, calc((0.5rem * var(--ui-scaleA)) - 1px), 1px) !important;
}

body.ui-scale-big table.table-hover > tbody > tr:hover > td {
    padding-top: round(up, calc((0.5rem * var(--ui-scaleA)) - 1px), 1px) !important;
}

body.ui-scale-small table.table-hover > tbody > tr.BorderTopThickAAA:hover > td {
    padding-top: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big table.table-hover > tbody > tr.BorderTopThickAAA:hover > td {
    padding-top: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

/* Modal Title Size */
body.ui-scale-small .modal-title {
    font-size: round(down, calc(1.1rem * var(--ui-scale)), 1px);
}

body.ui-scale-big .modal-title {
    font-size: round(up, calc(1.1rem * var(--ui-scale)), 1px);
}

/* Dropdown and Nav Links */
body.ui-scale-small .dropdown-menu {
    font-size: round(down, calc(1rem * var(--ui-scale)), 1px);
}

body.ui-scale-big .dropdown-menu {
    font-size: round(up, calc(1rem * var(--ui-scale)), 1px);
}

body.ui-scale-small .nav-link {
    padding: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) round(down, calc(0.75rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-big .nav-link {
    padding: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) round(up, calc(0.75rem * var(--ui-scaleA)), 1px);
}

/* Pagination */
body.ui-scale-small .pagination {
    --bs-pagination-font-size: round(down, calc(1rem * var(--ui-scale)), 1px);
    --bs-pagination-padding-y: round(down, calc(0.375rem * var(--ui-scaleA)), 1px);
    --bs-pagination-padding-x: round(down, calc(0.75rem * var(--ui-scaleA)), 1px);
}

body.ui-scale-big .pagination {
    --bs-pagination-font-size: round(up, calc(1rem * var(--ui-scale)), 1px);
    --bs-pagination-padding-y: round(up, calc(0.375rem * var(--ui-scaleA)), 1px);
    --bs-pagination-padding-x: round(up, calc(0.75rem * var(--ui-scaleA)), 1px);
}

/* Top Panel in Card Body */
body.ui-scale-small div.card-body div.toppanel {
    font-size: round(down, calc(1.125rem * var(--ui-scale)), 1px);
    margin: round(down, calc(10px * var(--ui-scaleA)), 1px);
    padding: round(down, calc(10px * var(--ui-scaleA)), 1px) round(down, calc(12px * var(--ui-scaleA)), 1px);
    height: round(up, calc(49px * var(--ui-scaleA)), 1px);
    max-height: round(up, calc(49px * var(--ui-scaleA)), 1px);
}

body.ui-scale-big div.card-body div.toppanel {
    font-size: round(up, calc(1.125rem * var(--ui-scale)), 1px);
    margin: round(up, calc(10px * var(--ui-scaleA)), 1px);
    padding: round(up, calc(10px * var(--ui-scaleA)), 1px) round(up, calc(12px * var(--ui-scaleA)), 1px);
    height: round(up, calc(49px * var(--ui-scaleA)), 1px);
    max-height: round(up, calc(49px * var(--ui-scaleA)), 1px);
}


/* --- Spacing Utilities Scale --- */
/* Note: Bootstrap uses !important for spacing, so we must too. */

/* All-sides Margin */
body.ui-scale-small .m-1 {
    margin: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .m-1 {
    margin: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .m-2 {
    margin: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .m-2 {
    margin: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .m-3 {
    margin: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .m-3 {
    margin: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .m-4 {
    margin: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .m-4 {
    margin: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .m-5 {
    margin: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .m-5 {
    margin: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

/* All-sides Padding */
body.ui-scale-small .p-1 {
    padding: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .p-1 {
    padding: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .p-2 {
    padding: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .p-2 {
    padding: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .p-3 {
    padding: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .p-3 {
    padding: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .p-4 {
    padding: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .p-4 {
    padding: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .p-5 {
    padding: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .p-5 {
    padding: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

/* Top Margin */
body.ui-scale-small .mt-1 {
    margin-top: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .mt-1 {
    margin-top: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .mt-2 {
    margin-top: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .mt-2 {
    margin-top: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .mt-3 {
    margin-top: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .mt-3 {
    margin-top: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .mt-4 {
    margin-top: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .mt-4 {
    margin-top: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .mt-5 {
    margin-top: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .mt-5 {
    margin-top: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

/* Bottom Margin */
body.ui-scale-small .mb-1 {
    margin-bottom: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .mb-1 {
    margin-bottom: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .mb-2 {
    margin-bottom: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .mb-2 {
    margin-bottom: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .mb-3 {
    margin-bottom: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .mb-3 {
    margin-bottom: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .mb-4 {
    margin-bottom: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .mb-4 {
    margin-bottom: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .mb-5 {
    margin-bottom: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .mb-5 {
    margin-bottom: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

/* Start Margin (Left in LTR) */
body.ui-scale-small .ms-1 {
    margin-inline-start: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .ms-1 {
    margin-inline-start: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .ms-2 {
    margin-inline-start: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .ms-2 {
    margin-inline-start: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .ms-3 {
    margin-inline-start: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .ms-3 {
    margin-inline-start: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .ms-4 {
    margin-inline-start: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .ms-4 {
    margin-inline-start: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .ms-5 {
    margin-inline-start: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .ms-5 {
    margin-inline-start: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

/* End Margin (Right in LTR) */
body.ui-scale-small .me-1 {
    margin-inline-end: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .me-1 {
    margin-inline-end: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .me-2 {
    margin-inline-end: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .me-2 {
    margin-inline-end: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .me-3 {
    margin-inline-end: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .me-3 {
    margin-inline-end: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .me-4 {
    margin-inline-end: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .me-4 {
    margin-inline-end: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .me-5 {
    margin-inline-end: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .me-5 {
    margin-inline-end: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

/* X-axis Margin */
body.ui-scale-small .mx-1 {
    margin-inline-start: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
    margin-inline-end: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .mx-1 {
    margin-inline-start: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
    margin-inline-end: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .mx-2 {
    margin-inline-start: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
    margin-inline-end: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .mx-2 {
    margin-inline-start: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
    margin-inline-end: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .mx-3 {
    margin-inline-start: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
    margin-inline-end: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .mx-3 {
    margin-inline-start: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
    margin-inline-end: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .mx-4 {
    margin-inline-start: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
    margin-inline-end: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .mx-4 {
    margin-inline-start: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
    margin-inline-end: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .mx-5 {
    margin-inline-start: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
    margin-inline-end: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .mx-5 {
    margin-inline-start: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
    margin-inline-end: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

/* Y-axis Margin */
body.ui-scale-small .my-1 {
    margin-top: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
    margin-bottom: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .my-1 {
    margin-top: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
    margin-bottom: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .my-2 {
    margin-top: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
    margin-bottom: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .my-2 {
    margin-top: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
    margin-bottom: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .my-3 {
    margin-top: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
    margin-bottom: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .my-3 {
    margin-top: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
    margin-bottom: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .my-4 {
    margin-top: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
    margin-bottom: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .my-4 {
    margin-top: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
    margin-bottom: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .my-5 {
    margin-top: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
    margin-bottom: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .my-5 {
    margin-top: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
    margin-bottom: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

/* Top Padding */
body.ui-scale-small .pt-1 {
    padding-top: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .pt-1 {
    padding-top: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .pt-2 {
    padding-top: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .pt-2 {
    padding-top: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .pt-3 {
    padding-top: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .pt-3 {
    padding-top: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .pt-4 {
    padding-top: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .pt-4 {
    padding-top: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .pt-5 {
    padding-top: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .pt-5 {
    padding-top: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

/* Bottom Padding */
body.ui-scale-small .pb-1 {
    padding-bottom: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .pb-1 {
    padding-bottom: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .pb-2 {
    padding-bottom: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .pb-2 {
    padding-bottom: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .pb-3 {
    padding-bottom: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .pb-3 {
    padding-bottom: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .pb-4 {
    padding-bottom: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .pb-4 {
    padding-bottom: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .pb-5 {
    padding-bottom: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .pb-5 {
    padding-bottom: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

/* Start Padding (Left in LTR) */
body.ui-scale-small .ps-1 {
    padding-inline-start: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .ps-1 {
    padding-inline-start: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .ps-2 {
    padding-inline-start: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .ps-2 {
    padding-inline-start: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .ps-3 {
    padding-inline-start: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .ps-3 {
    padding-inline-start: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .ps-4 {
    padding-inline-start: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .ps-4 {
    padding-inline-start: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .ps-5 {
    padding-inline-start: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .ps-5 {
    padding-inline-start: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

/* End Padding (Right in LTR) */
body.ui-scale-small .pe-1 {
    padding-inline-end: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .pe-1 {
    padding-inline-end: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .pe-2 {
    padding-inline-end: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .pe-2 {
    padding-inline-end: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .pe-3 {
    padding-inline-end: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .pe-3 {
    padding-inline-end: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .pe-4 {
    padding-inline-end: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .pe-4 {
    padding-inline-end: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .pe-5 {
    padding-inline-end: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .pe-5 {
    padding-inline-end: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

/* X-axis Padding */
body.ui-scale-small .px-1 {
    padding-inline-start: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
    padding-inline-end: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .px-1 {
    padding-inline-start: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
    padding-inline-end: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .px-2 {
    padding-inline-start: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
    padding-inline-end: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .px-2 {
    padding-inline-start: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
    padding-inline-end: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .px-3 {
    padding-inline-start: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
    padding-inline-end: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .px-3 {
    padding-inline-start: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
    padding-inline-end: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .px-4 {
    padding-inline-start: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
    padding-inline-end: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .px-4 {
    padding-inline-start: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
    padding-inline-end: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .px-5 {
    padding-inline-start: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
    padding-inline-end: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .px-5 {
    padding-inline-start: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
    padding-inline-end: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

/* Y-axis Padding */
body.ui-scale-small .py-1 {
    padding-top: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
    padding-bottom: round(down, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .py-1 {
    padding-top: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
    padding-bottom: round(up, calc(0.25rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .py-2 {
    padding-top: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
    padding-bottom: round(down, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .py-2 {
    padding-top: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
    padding-bottom: round(up, calc(0.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .py-3 {
    padding-top: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
    padding-bottom: round(down, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .py-3 {
    padding-top: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
    padding-bottom: round(up, calc(1rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .py-4 {
    padding-top: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
    padding-bottom: round(down, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .py-4 {
    padding-top: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
    padding-bottom: round(up, calc(1.5rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small .py-5 {
    padding-top: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
    padding-bottom: round(down, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big .py-5 {
    padding-top: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
    padding-bottom: round(up, calc(3rem * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-small table.dataTable > thead > tr > th {
    font-size: round(down, calc(0.9rem * var(--ui-scale)), 1px);
}

body.ui-scale-big table.dataTable > thead > tr > th {
    font-size: round(down, calc(0.9rem * var(--ui-scale)), 1px);
}

body.ui-scale-small table.dataTable, body.ui-scale-small table.table > tbody {
    font-size: round(down, calc(0.9rem * var(--ui-scale)), 1px);
}

body.ui-scale-big table.dataTable, body.ui-scale-big table.table > tbody {
    font-size: round(up, calc(0.9rem * var(--ui-scale)), 1px);
}

/* DataTables Buttons */
body.ui-scale-small div.dt-buttons button {
    font-size: round(down, calc(0.9rem * var(--ui-scale)), 1px) !important;
    padding: round(down, calc(3px * var(--ui-scaleA)), 1px) round(down, calc(5px * var(--ui-scaleA)), 1px) !important;
}

body.ui-scale-big div.dt-buttons button {
    font-size: round(up, calc(0.9rem * var(--ui-scale)), 1px) !important;
    padding: round(up, calc(3px * var(--ui-scaleA)), 1px) round(up, calc(5px * var(--ui-scaleA)), 1px) !important;
}

/* GPS lokace - filtry Vozidlo/Řidič (Kniha jízd i Doklady).
   Popisek a pole mají stát na jednom řádku, který rodičovský .text-center vycentruje -
   přesně jak to dělal nativní <select>. Motiv select2-bootstrap-5 ale kontejneru nastavuje
   display:block (mimikuje .form-select), takže pole spadne pod popisek a zarazí se vlevo.
   Vracíme inline-block jen uvnitř tohoto filtru, ne globálně - blokový kontejner je jinde
   v aplikaci (select2 na celou šířku formuláře) žádoucí.
   vertical-align:middle není kosmetika: s baseline sedí pole o 7 px výš než u nativního
   selectu. Naměřeno, ne odhadnuto. */
.GPSJourneyFilter .select2-container--bootstrap-5 {
    display: inline-block;
    vertical-align: middle;
}

/* Paleta prikazu (Ctrl+K) – okno #EiCommandPalette z cCommandPalette::RenderShell(), klient js/command-palette.js.
   Okno je bez .fade (prvni uhozy po Ctrl+K musi skoncit v poli). Polozky nejsou .nav ani .dropdown-menu –
   AdminLTE na nich chyta sipky. Barvy z promennych Bootstrapu, aby sedel i tmavy rezim. */
.ei-cp .ei-cp-dialog {
    max-width: 680px;
}

@media (min-width: 576px) {
    .ei-cp .ei-cp-dialog {
        margin-top: 8vh;
    }
}

.ei-cp .modal-content {
    overflow: hidden;
}

/* Globalni .modal > .modal-dialog ma padding-bottom 50px – na mobilu (cela obrazovka) by pod oknem zustal pruh stranky */
.modal.ei-cp > .modal-dialog {
    padding-bottom: 0;
}

.ei-cp-head {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--bs-border-color);
}

/* Probihajici hledani: pruh na spodni hrane zahlavi (text by pri kazdem uhozu posouval seznam) */
.ei-cp.ei-cp-searching .ei-cp-head::after {
    content: '';
    position: absolute;
    left: -30%;
    bottom: -1px;
    width: 30%;
    height: 2px;
    background: #3c8dbc;
    animation: ei-cp-progress 1.1s ease-in-out infinite;
}

@keyframes ei-cp-progress {
    from {
        left: -30%;
    }
    to {
        left: 100%;
    }
}

.ei-cp-head-icon {
    color: var(--bs-secondary-color);
}

.ei-cp-input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--bs-body-color);
    font-size: 1.1rem;
    padding: 4px 0;
}

.ei-cp-scope {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    background: #3c8dbc;
    color: #fff;
    border-radius: 12px;
    padding: 2px 4px 2px 10px;
    font-size: 0.85rem;
}

.ei-cp-scope-clear {
    border: 0;
    background: transparent;
    color: #fff;
    line-height: 1;
    font-size: 1.1rem;
    padding: 0 4px;
}

.ei-cp-body {
    max-height: 60vh;
    max-height: 60dvh;
    overflow-y: auto;
}

.ei-cp-group {
    padding: 8px 14px 4px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--bs-secondary-color);
}

.ei-cp-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 14px 7px 11px;
    border-left: 3px solid transparent;
    cursor: pointer;
    user-select: none;
}

.ei-cp-option[aria-selected="true"] {
    background: rgba(60, 141, 188, 0.12);
    border-left-color: #3c8dbc;
}

.ei-cp-icon {
    width: 18px;
    text-align: center;
    color: var(--bs-secondary-color);
    flex: 0 0 18px;
}

.ei-cp-text {
    flex: 1 1 auto;
    min-width: 0;
}

.ei-cp-title, .ei-cp-sub {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ei-cp-crumb {
    color: var(--bs-secondary-color);
}

.ei-cp-sub {
    font-size: 0.8rem;
    color: var(--bs-secondary-color);
}

.ei-cp-badge {
    flex: 0 0 auto;
    font-size: 0.72rem;
    border-radius: 10px;
    padding: 1px 8px;
    background: var(--bs-secondary-bg);
    color: var(--bs-body-color);
    white-space: nowrap;
}

.ei-cp-status {
    padding: 0 14px;
    font-size: 0.85rem;
    color: var(--bs-secondary-color);
}

.ei-cp-status:not(:empty) {
    padding: 8px 14px;
    border-bottom: 1px solid var(--bs-border-color);
}

.ei-cp-status-error {
    color: var(--bs-danger-text-emphasis);
    background: var(--bs-danger-bg-subtle);
}

.ei-cp-status-warning {
    color: var(--bs-warning-text-emphasis);
    background: var(--bs-warning-bg-subtle);
}

.ei-cp-foot {
    border-top: 1px solid var(--bs-border-color);
    padding: 6px 14px;
    font-size: 0.75rem;
    color: var(--bs-secondary-color);
}

.ei-cp-navbtn {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.ei-cp-kbd {
    font-size: 0.7rem;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: inherit;
    padding: 1px 5px;
}

/* Popisek a zkratka tlacitka jen na sirokych obrazovkach – uzsi lista je plna (zalomil by se nazev firmy) */
.ei-cp-navbtn .ei-cp-navlabel,
.ei-cp-navbtn .ei-cp-kbd {
    display: none;
}

@media (min-width: 1600px) {
    .ei-cp-navbtn .ei-cp-navlabel {
        display: inline;
        margin-left: 0.25rem;
    }

    .ei-cp-navbtn .ei-cp-kbd {
        display: inline;
        margin-left: 0.5rem;
    }
}

/* Nazev firmy v liste: pri nedostatku mista trojtecka misto zalomeni (druhy radek pretekal pod listu) */
.app-header .ei-navbar-company,
.app-header .ei-navbar-company > .nav-item {
    min-width: 0;
}

.app-header .ei-navbar-company #ContentLogo {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
}

@media (max-width: 575.98px) {
    .ei-cp .modal-content {
        display: flex;
        flex-direction: column;
    }

    .ei-cp-body {
        flex: 1 1 auto;
        max-height: none;
    }

    .ei-cp-option {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}
