body { background:#f5f6f8; }
.stat-card { background:#fff; border-radius:16px; padding:22px; box-shadow:0 4px 18px rgba(0,0,0,.06); }
.stat-card span { display:block; color:#6c757d; }
.stat-card strong { font-size:1.7rem; }
.service-item { border-bottom:1px solid #e5e5e5; padding:16px 0; }
.service-item:last-child { border-bottom:0; }
.gallery-img { width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.12); }
.lightbox { display:none; position:fixed; inset:0; background:rgba(0,0,0,.86); align-items:center; justify-content:center; z-index:9999; padding:20px; }
.lightbox img { max-width:96vw; max-height:90vh; border-radius:12px; }
@media (max-width: 576px) {
    .container-xl { padding-left:12px; padding-right:12px; }
    .btn { width:100%; margin-bottom:6px; }
    .navbar .btn { width:auto; }
}


.app-navbar { box-shadow: 0 2px 12px rgba(0,0,0,.04); }
.app-logo { height: 34px; width: auto; }
.login-body { background:#f3f6f9; min-height:100vh; }
.login-shell { min-height:100vh; display:grid; grid-template-columns: minmax(320px, 42%) 1fr; }
.login-photo { position:relative; overflow:hidden; background:#10202d; }
.login-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.login-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.35),rgba(0,0,0,.05)); }
.login-photo-caption { position:absolute; left:24px; bottom:20px; color:white; z-index:2; font-size:.85rem; }
.login-panel { display:flex; align-items:center; justify-content:center; padding:32px; }
.login-card { width:100%; max-width:430px; border:0; border-radius:18px; }
.login-logo { max-width:260px; width:80%; height:auto; }
.low-stock { background:#fff3cd!important; }
.out-stock { background:#f8d7da!important; }
@media (max-width: 800px) {
    .login-shell { grid-template-columns: 1fr; }
    .login-photo { height:260px; }
    .login-panel { padding:20px; }
}


/* v3.5 – menší úvodní fotka na přihlášení */
.login-shell {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    padding: 28px;
}
.login-photo {
    width: min(420px, 42vw);
    height: min(620px, calc(100vh - 56px));
    border-radius: 22px;
    box-shadow: 0 10px 30px rgba(0,0,0,.16);
    flex: 0 0 auto;
}
.login-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.login-panel {
    padding: 0;
    flex: 0 1 460px;
}
.login-card {
    max-width: 430px;
}
.app-footer,
.login-footer {
    text-align: center;
    color: #6c757d;
    font-size: .85rem;
    margin-top: 24px;
}
@media (max-width: 900px) {
    .login-shell {
        display: block;
        min-height: auto;
        padding: 18px;
    }
    .login-photo {
        width: 100%;
        max-width: 430px;
        height: 190px;
        margin: 0 auto 16px auto;
        border-radius: 16px;
    }
    .login-panel {
        max-width: 430px;
        margin: 0 auto;
    }
}


/* v3.7 – definitivní zmenšení přihlašovací fotografie na PC */
.login-shell {
    min-height: 100vh !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important;
    padding: 24px !important;
    overflow: hidden !important;
}
.login-photo {
    width: min(300px, 26vw) !important;
    height: min(430px, calc(100vh - 90px)) !important;
    max-height: 430px !important;
    min-height: 0 !important;
    border-radius: 18px !important;
    flex: 0 0 auto !important;
}
.login-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.login-panel {
    padding: 0 !important;
    flex: 0 1 430px !important;
}
.login-card {
    max-width: 410px !important;
}
.login-logo {
    max-width: 230px !important;
}
@media (max-width: 900px) {
    .login-shell {
        display: block !important;
        min-height: auto !important;
        overflow: visible !important;
        padding: 14px !important;
    }
    .login-photo {
        width: 100% !important;
        max-width: 360px !important;
        height: 150px !important;
        max-height: 150px !important;
        margin: 0 auto 14px auto !important;
    }
    .login-panel {
        max-width: 410px !important;
        margin: 0 auto !important;
    }
}

/* v3.8 moderní menu */
.app-navbar{min-height:68px;backdrop-filter:blur(14px);background:rgba(255,255,255,.94)!important;box-shadow:0 6px 22px rgba(14,30,50,.08)}
.app-logo{height:38px;max-width:210px;object-fit:contain}.app-menu{gap:6px}
.app-menu .nav-link{position:relative;display:flex;align-items:center;gap:8px;color:#334155;font-weight:600;border-radius:14px;padding:10px 14px!important;transition:background .18s,color .18s,transform .18s,box-shadow .18s}
.app-menu .nav-link:hover,.app-menu .nav-link:focus{background:linear-gradient(135deg,rgba(0,116,255,.12),rgba(0,166,255,.08));color:#075ecf;transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,104,224,.10)}
.app-menu .nav-link.active{color:#fff!important;background:linear-gradient(135deg,#0d6efd,#0099ff);box-shadow:0 10px 22px rgba(13,110,253,.28)}
.app-menu .nav-link.active::after{content:"";position:absolute;left:18px;right:18px;bottom:-9px;height:3px;border-radius:999px;background:#0d6efd}
.modern-dropdown{border:0;border-radius:16px;padding:10px;box-shadow:0 18px 46px rgba(15,23,42,.16)}
.modern-dropdown .dropdown-item{border-radius:12px;padding:10px 12px;font-weight:600;display:flex;align-items:center;gap:9px}.modern-dropdown .dropdown-item:hover{background:rgba(13,110,253,.1);color:#075ecf}
.user-chip{border-radius:999px;display:flex;align-items:center;gap:8px;font-weight:600;border:1px solid rgba(15,23,42,.08);box-shadow:0 4px 14px rgba(15,23,42,.05)}
.modern-toggler{width:44px;height:40px;border:0;border-radius:12px;background:rgba(13,110,253,.08);padding:8px}.modern-toggler span{display:block;width:22px;height:2px;background:#0d6efd;border-radius:999px;margin:5px auto}.modern-toggler:hover{background:rgba(13,110,253,.14)}
.mobile-offcanvas{background:linear-gradient(180deg,#0f2233,#07121d);color:#fff;width:min(86vw,340px)!important}.mobile-offcanvas .offcanvas-header{border-bottom:1px solid rgba(255,255,255,.08)}
.mobile-logo{max-width:210px;max-height:44px;object-fit:contain}.mobile-user{display:flex;gap:12px;align-items:center;padding:14px;border-radius:18px;background:rgba(255,255,255,.08)}.mobile-user i{font-size:2rem;color:#4db4ff}.mobile-user small{display:block;color:rgba(255,255,255,.62)}
.mobile-menu-list{display:grid;gap:8px}.mobile-menu-link{position:relative;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.86);text-decoration:none;font-weight:700;padding:14px 15px;border-radius:16px;transition:background .18s,color .18s,transform .18s,padding-left .18s}.mobile-menu-link i{width:22px;text-align:center;font-size:1.12rem}
.mobile-menu-link:hover,.mobile-menu-link:focus{color:#fff;background:rgba(13,110,253,.28);transform:translateX(3px);padding-left:18px}.mobile-menu-link.active{color:#fff;background:linear-gradient(135deg,#0d6efd,#0099ff);box-shadow:0 12px 28px rgba(13,110,253,.25)}
.mobile-menu-link.active::before{content:"";position:absolute;left:-7px;top:12px;bottom:12px;width:4px;background:#5ed3ff;border-radius:999px}
@media(max-width:1199px){.app-navbar{min-height:62px}.app-logo{height:34px;max-width:190px}}
@media(hover:none){.app-menu .nav-link:hover,.mobile-menu-link:hover{transform:none}}


/* v4.1 – finální zmenšení fotografie na přihlášení */
.login-shell {
    min-height: 100vh !important;
    height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 22px !important;
    padding: 18px !important;
    overflow: hidden !important;
}
.login-photo {
    width: min(260px, 22vw) !important;
    height: min(340px, calc(100vh - 120px)) !important;
    max-width: 260px !important;
    max-height: 340px !important;
    min-height: 0 !important;
    border-radius: 18px !important;
    flex: 0 0 auto !important;
}
.login-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.login-panel {
    flex: 0 1 400px !important;
    padding: 0 !important;
}
.login-card {
    max-width: 390px !important;
}
.login-logo {
    max-width: 210px !important;
}
@media (max-width: 900px) {
    .login-shell {
        height: auto !important;
        min-height: auto !important;
        display: block !important;
        overflow: visible !important;
        padding: 12px !important;
    }
    .login-photo {
        width: 100% !important;
        max-width: 330px !important;
        height: 130px !important;
        max-height: 130px !important;
        margin: 0 auto 12px auto !important;
    }
    .login-panel {
        max-width: 390px !important;
        margin: 0 auto !important;
    }
}


/* v4.4 – prémiové menu: PC sidebar + mobilní spodní navigace */
.has-app-shell{background:#f4f7fb}
.premium-sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:radial-gradient(circle at 20% 0%,rgba(0,153,255,.28),transparent 32%),linear-gradient(180deg,#0d2335 0%,#07131f 100%);color:#fff;z-index:1040;padding:20px 16px;flex-direction:column;box-shadow:18px 0 40px rgba(15,23,42,.16)}
.sidebar-brand{height:64px;display:flex;align-items:center;padding:0 8px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar-brand img{max-width:210px;max-height:42px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.16))}
.sidebar-nav{display:grid;gap:7px;margin-top:18px;overflow-y:auto;padding-right:2px}
.sidebar-section{color:rgba(255,255,255,.42);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:16px 14px 4px}
.sidebar-link{position:relative;display:flex;align-items:center;gap:12px;min-height:46px;border-radius:16px;padding:12px 14px;color:rgba(255,255,255,.82);text-decoration:none;font-weight:700;transition:transform .16s,background .16s,color .16s,box-shadow .16s}
.sidebar-link i{font-size:1.12rem;width:24px;text-align:center;color:#69c8ff}.sidebar-link:hover{color:#fff;background:rgba(255,255,255,.10);transform:translateX(4px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.sidebar-link.active{color:#fff;background:linear-gradient(135deg,#0d6efd,#00a3ff);box-shadow:0 14px 30px rgba(13,110,253,.32)}.sidebar-link.active i{color:#fff}
.sidebar-link.active::before{content:"";position:absolute;left:-16px;top:12px;bottom:12px;width:4px;border-radius:999px;background:#7de3ff}
.sidebar-user{margin-top:auto;display:flex;align-items:center;gap:10px;padding:14px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}
.avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#0d6efd,#00a3ff);box-shadow:0 10px 22px rgba(13,110,253,.24)}
.user-meta{min-width:0;flex:1}.user-meta strong,.mobile-profile strong{display:block;line-height:1.1}.user-meta small,.mobile-profile small{color:rgba(255,255,255,.58)}
.logout-icon{color:rgba(255,255,255,.72);width:34px;height:34px;display:grid;place-items:center;border-radius:12px;text-decoration:none}.logout-icon:hover{background:rgba(255,255,255,.10);color:#fff}
.premium-topbar{position:sticky;top:0;z-index:1030;min-height:66px;display:flex;align-items:center;justify-content:space-between;padding:10px 22px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,23,42,.08);box-shadow:0 8px 24px rgba(15,23,42,.04)}
.topbar-left,.topbar-actions{display:flex;align-items:center;gap:10px}.topbar-logo{height:32px;max-width:180px;object-fit:contain}
.mobile-menu-button{border:0;width:42px;height:42px;border-radius:14px;background:#eef6ff;color:#0d6efd;font-size:1.35rem}.topbar-pill,.topbar-logout{align-items:center;gap:8px;border-radius:999px;padding:9px 13px;font-weight:700;color:#334155;background:#fff;text-decoration:none;border:1px solid rgba(15,23,42,.08);box-shadow:0 6px 18px rgba(15,23,42,.05)}.topbar-logout:hover{color:#0d6efd;background:#f8fbff}
.app-content{margin-left:270px;max-width:none!important;padding-left:28px!important;padding-right:28px!important}
.premium-mobile-menu{background:linear-gradient(180deg,#0d2335,#07131f);color:#fff;width:min(88vw,360px)!important}.premium-mobile-menu .offcanvas-header{border-bottom:1px solid rgba(255,255,255,.08)}.premium-mobile-menu .offcanvas-header img{max-width:210px;max-height:42px}
.mobile-profile{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:rgba(255,255,255,.08);margin-bottom:16px}.mobile-drawer-link{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.84);text-decoration:none;font-weight:800;padding:14px 15px;border-radius:16px;margin-bottom:7px;transition:background .16s,transform .16s,color .16s}.mobile-drawer-link i{width:24px;text-align:center;color:#69c8ff}.mobile-drawer-link:hover{color:#fff;background:rgba(255,255,255,.10);transform:translateX(4px)}.mobile-drawer-link.active{color:#fff;background:linear-gradient(135deg,#0d6efd,#00a3ff);box-shadow:0 12px 28px rgba(13,110,253,.28)}.mobile-drawer-link.active i{color:#fff}
.mobile-bottom-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:1045;display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:8px;border-radius:24px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);box-shadow:0 16px 44px rgba(15,23,42,.20);border:1px solid rgba(15,23,42,.08)}
.mobile-bottom-nav a,.mobile-bottom-nav button{border:0;background:transparent;color:#64748b;text-decoration:none;display:grid;place-items:center;gap:2px;padding:8px 2px;border-radius:18px;font-size:.72rem;font-weight:800}.mobile-bottom-nav i{font-size:1.25rem}.mobile-bottom-nav a.active{color:#fff;background:linear-gradient(135deg,#0d6efd,#00a3ff);box-shadow:0 8px 20px rgba(13,110,253,.24)}
.mobile-bottom-spacer{height:88px}

@media(min-width:992px){.premium-topbar{margin-left:270px}}
@media(max-width:991px){.has-app-shell{padding-bottom:86px}.premium-topbar{min-height:60px;padding:9px 14px}.app-content{margin-left:0;padding-left:14px!important;padding-right:14px!important}.btn{width:auto}}


/* v4.6 – spodní menu se na PC nesmí zobrazit */
@media (min-width: 992px) {
    .mobile-bottom-nav,
    .mobile-bottom-spacer {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
    }
}


/* v4.7 – oprava horizontálního scrollu a odstranění uživatele ze sidebaru na PC */
html,
body {
    max-width: 100%;
    overflow-x: hidden !important;
}
* {
    box-sizing: border-box;
}
@media (min-width: 992px) {
    .premium-sidebar {
        width: 250px !important;
    }
    .premium-topbar {
        margin-left: 250px !important;
        width: calc(100% - 250px) !important;
        max-width: calc(100% - 250px) !important;
    }
    .app-content {
        margin-left: 250px !important;
        width: calc(100% - 250px) !important;
        max-width: calc(100% - 250px) !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
        overflow-x: hidden !important;
    }
    .sidebar-user {
        display: none !important;
    }
    .container-xl.app-content,
    main.app-content {
        margin-right: 0 !important;
    }
}
.table-responsive {
    max-width: 100%;
}
.card,
.row,
.container-fluid {
    max-width: 100%;
}

/* v5.0 cache marker: aligned fixed header */

/* v5.3 – zvýraznění výměny oleje v servisním formuláři */
.oil-change-box {
    border: 1px solid rgba(13,110,253,.18);
    background: linear-gradient(135deg, rgba(13,110,253,.06), rgba(0,166,255,.04));
    border-radius: 16px;
    padding: 14px 16px;
}
.oil-change-box .form-check-input {
    width: 1.15em;
    height: 1.15em;
}

/* v5.5 – spotřeba */
.table-success td, .table-info td, .table-danger td {
    vertical-align: middle;
}

/* v6.0 action buttons */
td .btn + .btn,
td form.d-inline + .btn,
td .btn + form.d-inline,
td form.d-inline + form.d-inline {
    margin-left: 4px;
}

/* v6.2 fuel chart */
#fuelLitersChart {
    max-height: 320px;
}

/* v6.4 notification center */
.notification-menu {
    width: min(420px, 92vw);
    max-height: 520px;
    overflow-y: auto;
    padding: 0;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(2,8,23,.24);
}
.notification-header {
    position: sticky;
    top: 0;
    z-index: 2;
    background: linear-gradient(135deg,#0a3764,#061b2e);
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
}
.notification-header span {
    background: rgba(255,255,255,.16);
    border-radius: 999px;
    padding: 2px 9px;
    font-weight: 800;
}
.notification-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.notification-center-link {
    color: #fff;
    text-decoration: none;
    font-size: .82rem;
    font-weight: 700;
    opacity: .92;
}
.notification-center-link:hover,
.notification-center-link:focus {
    color: #fff;
    text-decoration: underline;
    opacity: 1;
}
.notification-empty {
    padding: 18px;
    color: #64748b;
}
.notification-item {
    display: flex;
    gap: 12px;
    padding: 13px 15px;
    text-decoration: none;
    color: #0f172a;
    border-bottom: 1px solid rgba(15,23,42,.08);
}
.notification-item:hover {
    background: #f8fbff;
}
.notification-item i {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    background: #eef6ff;
    color: #0d6efd;
}
.notification-item strong {
    display: block;
    font-size: .92rem;
}
.notification-item small {
    display: block;
    color: #64748b;
    line-height: 1.25;
}
.notification-danger i {
    background: #fee2e2;
    color: #dc2626;
}
.notification-warning i {
    background: #fff3cd;
    color: #b45309;
}
.notification-info i {
    background: #e0f2fe;
    color: #0369a1;
}
.notification-dot {
    min-width: 19px;
    height: 19px;
}

/* v6.6 dark mode */
.user-dropdown-menu {
    border: 0;
    border-radius: 16px;
    padding: 10px;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .16);
}
.user-dropdown-menu .dropdown-item {
    border-radius: 12px;
    padding: 10px 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 9px;
}

body.dark-mode {
    background: #07111f !important;
    color: #dbeafe !important;
}
body.dark-mode.has-app-shell {
    background: #07111f !important;
}
body.dark-mode .app-content {
    color: #dbeafe !important;
}
body.dark-mode .card,
body.dark-mode .stat-card,
body.dark-mode .login-card {
    background: #0f1f33 !important;
    color: #dbeafe !important;
    border-color: rgba(148, 163, 184, .18) !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.28) !important;
}
body.dark-mode .card-header {
    background: #132944 !important;
    color: #f8fafc !important;
    border-bottom-color: rgba(148, 163, 184, .18) !important;
}
body.dark-mode .table {
    color: #dbeafe !important;
}
body.dark-mode .table > :not(caption) > * > * {
    background-color: transparent !important;
    color: #dbeafe !important;
    border-bottom-color: rgba(148, 163, 184, .16) !important;
}
body.dark-mode .table-hover tbody tr:hover td {
    background-color: rgba(59, 130, 246, .12) !important;
}
body.dark-mode .form-control,
body.dark-mode .form-select,
body.dark-mode textarea {
    background-color: #0b1728 !important;
    color: #e2e8f0 !important;
    border-color: rgba(148, 163, 184, .24) !important;
}
body.dark-mode .form-control:focus,
body.dark-mode .form-select:focus {
    background-color: #0b1728 !important;
    color: #fff !important;
    border-color: #38bdf8 !important;
    box-shadow: 0 0 0 .2rem rgba(56, 189, 248, .18) !important;
}
body.dark-mode .text-muted {
    color: #94a3b8 !important;
}
body.dark-mode .alert-light,
body.dark-mode .alert-info {
    background: #102a43 !important;
    color: #dbeafe !important;
    border-color: rgba(56, 189, 248, .25) !important;
}
body.dark-mode .alert-warning {
    background: #422f0b !important;
    color: #fde68a !important;
    border-color: rgba(245, 158, 11, .35) !important;
}
body.dark-mode .alert-danger {
    background: #3f1219 !important;
    color: #fecdd3 !important;
    border-color: rgba(239, 68, 68, .35) !important;
}
body.dark-mode .dropdown-menu,
body.dark-mode .notification-menu,
body.dark-mode .user-dropdown-menu {
    background: #0f1f33 !important;
    color: #dbeafe !important;
    border: 1px solid rgba(148, 163, 184, .18) !important;
}
body.dark-mode .dropdown-item,
body.dark-mode .dropdown-item-text {
    color: #dbeafe !important;
}
body.dark-mode .dropdown-item:hover {
    background: rgba(59, 130, 246, .16) !important;
}
body.dark-mode .notification-item {
    background: #0f1f33 !important;
    color: #dbeafe !important;
    border-bottom-color: rgba(148, 163, 184, .16) !important;
}
body.dark-mode .notification-item:hover {
    background: #132944 !important;
}
body.dark-mode .notification-item small {
    color: #94a3b8 !important;
}
body.dark-mode .list-group-item {
    background: #0f1f33 !important;
    color: #dbeafe !important;
    border-color: rgba(148, 163, 184, .16) !important;
}
body.dark-mode .btn-outline-secondary {
    color: #dbeafe !important;
    border-color: rgba(148, 163, 184, .35) !important;
}
body.dark-mode .btn-outline-secondary:hover {
    background: rgba(148, 163, 184, .18) !important;
}
body.dark-mode canvas {
    filter: brightness(.92);
}

/* v6.9 dark mode fix */
html.dark-mode,
html.dark-mode body,
body.dark-mode {
    background: #07111f !important;
    color: #dbeafe !important;
}
html.dark-mode body.has-app-shell,
body.dark-mode.has-app-shell {
    background: #07111f !important;
}
html.dark-mode .app-content,
body.dark-mode .app-content {
    background: #07111f !important;
    color: #dbeafe !important;
}
html.dark-mode .card,
html.dark-mode .stat-card,
html.dark-mode .login-card,
body.dark-mode .card,
body.dark-mode .stat-card,
body.dark-mode .login-card {
    background: #0f1f33 !important;
    color: #dbeafe !important;
    border-color: rgba(148,163,184,.18) !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.28) !important;
}
html.dark-mode .card-header,
body.dark-mode .card-header {
    background: #132944 !important;
    color: #f8fafc !important;
    border-bottom-color: rgba(148,163,184,.18) !important;
}
html.dark-mode .table,
body.dark-mode .table {
    color: #dbeafe !important;
}
html.dark-mode .table > :not(caption) > * > *,
body.dark-mode .table > :not(caption) > * > * {
    background-color: transparent !important;
    color: #dbeafe !important;
    border-bottom-color: rgba(148,163,184,.16) !important;
}
html.dark-mode .table-hover tbody tr:hover td,
body.dark-mode .table-hover tbody tr:hover td {
    background-color: rgba(59,130,246,.12) !important;
}
html.dark-mode .form-control,
html.dark-mode .form-select,
html.dark-mode textarea,
body.dark-mode .form-control,
body.dark-mode .form-select,
body.dark-mode textarea {
    background-color: #0b1728 !important;
    color: #e2e8f0 !important;
    border-color: rgba(148,163,184,.24) !important;
}
html.dark-mode .form-control:focus,
html.dark-mode .form-select:focus,
body.dark-mode .form-control:focus,
body.dark-mode .form-select:focus {
    background-color: #0b1728 !important;
    color: #fff !important;
    border-color: #38bdf8 !important;
    box-shadow: 0 0 0 .2rem rgba(56,189,248,.18) !important;
}
html.dark-mode .text-muted,
body.dark-mode .text-muted {
    color: #94a3b8 !important;
}
html.dark-mode .dropdown-menu,
html.dark-mode .notification-menu,
html.dark-mode .user-dropdown-menu,
body.dark-mode .dropdown-menu,
body.dark-mode .notification-menu,
body.dark-mode .user-dropdown-menu {
    background: #0f1f33 !important;
    color: #dbeafe !important;
    border: 1px solid rgba(148,163,184,.18) !important;
}
html.dark-mode .dropdown-item,
html.dark-mode .dropdown-item-text,
body.dark-mode .dropdown-item,
body.dark-mode .dropdown-item-text {
    color: #dbeafe !important;
}
html.dark-mode .dropdown-item:hover,
body.dark-mode .dropdown-item:hover {
    background: rgba(59,130,246,.16) !important;
}
html.dark-mode .notification-item,
body.dark-mode .notification-item {
    background: #0f1f33 !important;
    color: #dbeafe !important;
    border-bottom-color: rgba(148,163,184,.16) !important;
}
html.dark-mode .notification-item:hover,
body.dark-mode .notification-item:hover {
    background: #132944 !important;
}
html.dark-mode .notification-item small,
body.dark-mode .notification-item small {
    color: #94a3b8 !important;
}
html.dark-mode .list-group-item,
body.dark-mode .list-group-item {
    background: #0f1f33 !important;
    color: #dbeafe !important;
    border-color: rgba(148,163,184,.16) !important;
}
html.dark-mode .alert-light,
html.dark-mode .alert-info,
body.dark-mode .alert-light,
body.dark-mode .alert-info {
    background: #102a43 !important;
    color: #dbeafe !important;
    border-color: rgba(56,189,248,.25) !important;
}
html.dark-mode .btn-outline-secondary,
body.dark-mode .btn-outline-secondary {
    color: #dbeafe !important;
    border-color: rgba(148,163,184,.35) !important;
}
html.dark-mode .btn-outline-secondary:hover,
body.dark-mode .btn-outline-secondary:hover {
    background: rgba(148,163,184,.18) !important;
}

/* v7.0 – mobilní horní lišta: notifikace, dark mode, uživatel a odhlášení */
@media (max-width: 991px) {
    .premium-topbar {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 0 10px !important;
    }
    .premium-topbar .topbar-actions {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        margin-left: auto !important;
    }
    .premium-topbar .topbar-icon {
        display: grid !important;
        width: 38px !important;
        height: 38px !important;
        border-radius: 13px !important;
        flex: 0 0 auto !important;
    }
    .premium-topbar .topbar-user {
        display: flex !important;
        padding: 4px !important;
        border-radius: 14px !important;
        background: rgba(255,255,255,.08) !important;
    }
    .premium-topbar .topbar-avatar {
        width: 34px !important;
        height: 34px !important;
        font-size: .9rem !important;
    }
    .premium-topbar .topbar-user-text,
    .premium-topbar .topbar-user::after {
        display: none !important;
    }
    .premium-topbar .notification-dot {
        min-width: 17px !important;
        height: 17px !important;
        font-size: .62rem !important;
        right: 2px !important;
        top: 2px !important;
    }
    .topbar-logo {
        max-width: 145px !important;
    }
    .mobile-menu-button {
        flex: 0 0 auto !important;
    }
    .notification-menu {
        width: min(360px, 94vw) !important;
    }
}
.mobile-quick-actions {
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
}
.mobile-action-btn {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 16px;
    padding: 12px 14px;
    color: rgba(255,255,255,.88);
    background: rgba(255,255,255,.08);
    text-decoration: none;
    font-weight: 800;
}
.mobile-action-btn i {
    width: 24px;
    text-align: center;
    color: #69c8ff;
}
.mobile-action-btn em {
    margin-left: auto;
    min-width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #ef233c;
    color: white;
    display: grid;
    place-items: center;
    font-style: normal;
    font-size: .75rem;
}
.mobile-action-btn:hover {
    color: #fff;
    background: rgba(255,255,255,.13);
}
html.dark-mode .mobile-action-btn,
body.dark-mode .mobile-action-btn {
    background: rgba(255,255,255,.08) !important;
    color: rgba(255,255,255,.9) !important;
}

/* v7.1 – desktop světlé logo v levém menu */
@media (min-width: 992px) {
    .sidebar-brand img {
        filter: brightness(0) invert(1) grayscale(1) drop-shadow(0 8px 18px rgba(0,0,0,.35)) !important;
        opacity: .92 !important;
    }
}

/* v7.2 – skutečné světlé logo v PC sidebaru */
@media (min-width: 992px) {
    .sidebar-brand img.sidebar-logo-light {
        filter: drop-shadow(0 8px 18px rgba(0,0,0,.35)) !important;
        opacity: .98 !important;
    }
}

/* v7.3 – oprava dark mode na mobilu */
@media (max-width: 991px) {
    .premium-topbar .mobile-dark-top {
        display: grid !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
    }
    .premium-topbar .desktop-dark-toggle {
        display: none !important;
    }
    .premium-topbar .topbar-actions {
        display: flex !important;
        visibility: visible !important;
        align-items: center !important;
        gap: 6px !important;
    }
}
@media (min-width: 992px) {
    .premium-topbar .mobile-dark-top {
        display: none !important;
    }
    .premium-topbar .desktop-dark-toggle {
        display: grid !important;
    }
}
html.dark-mode .premium-mobile-menu,
body.dark-mode .premium-mobile-menu {
    background: linear-gradient(180deg,#020817,#07111f) !important;
    color: #dbeafe !important;
}
html.dark-mode .mobile-bottom-nav,
body.dark-mode .mobile-bottom-nav {
    background: linear-gradient(180deg,#0f1f33,#07111f) !important;
    border-color: rgba(148,163,184,.18) !important;
}
html.dark-mode .mobile-bottom-nav a,
html.dark-mode .mobile-bottom-nav button,
body.dark-mode .mobile-bottom-nav a,
body.dark-mode .mobile-bottom-nav button {
    color: rgba(219,234,254,.78) !important;
}
html.dark-mode .mobile-bottom-nav a.active,
body.dark-mode .mobile-bottom-nav a.active {
    color: #fff !important;
    background: rgba(13,110,253,.45) !important;
}
html.dark-mode .premium-topbar,
body.dark-mode .premium-topbar {
    background: linear-gradient(135deg,#020817,#0f1f33) !important;
}
html.dark-mode .mobile-action-btn,
body.dark-mode .mobile-action-btn {
    background: rgba(255,255,255,.08) !important;
    color: rgba(255,255,255,.92) !important;
    border-color: rgba(255,255,255,.12) !important;
}

/* v7.7 – dashboard spotřeba paliva: velikost a odsazení */
.fuel-dashboard-card {
    margin-top: 24px !important;
    margin-bottom: 28px !important;
}
.fuel-dashboard-card .card-body {
    padding: 22px !important;
}
.fuel-chart-wrap {
    position: relative;
    width: 100%;
    height: 280px;
    min-height: 240px;
}
#fuelLitersChart {
    width: 100% !important;
    height: 100% !important;
    max-height: 280px !important;
}
@media (max-width: 768px) {
    .fuel-dashboard-card {
        margin-top: 18px !important;
        margin-bottom: 22px !important;
    }
    .fuel-dashboard-card .card-body {
        padding: 14px !important;
    }
    .fuel-chart-wrap {
        height: 220px;
        min-height: 200px;
    }
    #fuelLitersChart {
        max-height: 220px !important;
    }
}

/* v8.4 – zvýraznění vysoké spotřeby */
.notification-danger strong,
.badge.text-bg-danger {
    letter-spacing: .01em;
}

/* v8.5 – loga automobilek v kartě vozidla */
.vehicle-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    min-height: 62px;
}
.vehicle-brand-logo {
    width: 62px;
    height: 62px;
    object-fit: contain;
    opacity: .42;
    filter: grayscale(100%);
    flex: 0 0 62px;
    margin-top: -4px;
    transition: opacity .18s ease, transform .18s ease;
}
.card:hover .vehicle-brand-logo {
    opacity: .72;
    transform: scale(1.04);
}
html.dark-mode .vehicle-brand-logo,
body.dark-mode .vehicle-brand-logo {
    opacity: .68;
    filter: grayscale(100%) brightness(1.25);
}
@media (max-width: 768px) {
    .vehicle-brand-logo {
        width: 50px;
        height: 50px;
        flex-basis: 50px;
    }
}

/* v8.6 – malá loga automobilek + MAN */
.vehicle-card-top {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 36px !important;
}
.vehicle-card-top h2 {
    padding-right: 8px !important;
}
.vehicle-brand-logo {
    width: 34px !important;
    height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important;
    object-fit: contain !important;
    opacity: .48 !important;
    filter: grayscale(100%) !important;
    flex: 0 0 34px !important;
    margin-top: -2px !important;
    transition: opacity .18s ease, transform .18s ease !important;
}
.card:hover .vehicle-brand-logo {
    opacity: .72 !important;
    transform: scale(1.04) !important;
}
html.dark-mode .vehicle-brand-logo,
body.dark-mode .vehicle-brand-logo {
    opacity: .66 !important;
    filter: grayscale(100%) brightness(1.2) !important;
}
@media (max-width: 768px) {
    .vehicle-card-top {
        min-height: 32px !important;
    }
    .vehicle-brand-logo {
        width: 30px !important;
        height: 30px !important;
        max-width: 30px !important;
        max-height: 30px !important;
        flex-basis: 30px !important;
    }
}

/* v9.0 – přepravy */
.transport-form h2 {
    color: #0a3764;
    font-weight: 800;
}
html.dark-mode .transport-form h2,
body.dark-mode .transport-form h2 {
    color: #93c5fd;
}

/* v9.1 – přepravy: vzdálenost a PHM */
#distanceStatus {
    display: inline-block;
    line-height: 1.25;
}
@media (max-width: 768px) {
    #calcDistanceBtn {
        width: 100%;
    }
    #distanceStatus {
        display: block;
        margin: 8px 0 0 0 !important;
    }
}

/* v9.3 – přepravy: tuny a našeptávač měst */
.city-suggest-wrap{position:relative}
.city-suggest-box{display:none;position:absolute;z-index:2050;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:14px;box-shadow:0 18px 48px rgba(15,23,42,.18);overflow:hidden;max-height:280px;overflow-y:auto}
.city-suggest-box.show{display:block}
.city-suggest-item{width:100%;border:0;background:transparent;text-align:left;padding:10px 12px;display:block;border-bottom:1px solid rgba(15,23,42,.06)}
.city-suggest-item:hover{background:#f2f7ff}
.city-suggest-item strong{display:block;color:#0f172a}
.city-suggest-item small{display:block;color:#64748b}
html.dark-mode .city-suggest-box,body.dark-mode .city-suggest-box{background:#0f1f33;border-color:rgba(148,163,184,.20)}
html.dark-mode .city-suggest-item,body.dark-mode .city-suggest-item{color:#dbeafe;border-bottom-color:rgba(148,163,184,.14)}
html.dark-mode .city-suggest-item:hover,body.dark-mode .city-suggest-item:hover{background:#132944}
html.dark-mode .city-suggest-item strong,body.dark-mode .city-suggest-item strong{color:#e2e8f0}
html.dark-mode .city-suggest-item small,body.dark-mode .city-suggest-item small{color:#94a3b8}

/* v1.0.2 – barevné zvýraznění stavů přeprav */
.transport-row-status-unloaded td:first-child { border-left: 5px solid var(--bs-secondary); }
.transport-row-status-loaded td:first-child { border-left: 5px solid var(--bs-warning); }
.transport-row-status-delivered td:first-child { border-left: 5px solid var(--bs-success); }
.transport-row-status-cancelled td:first-child { border-left: 5px solid var(--bs-danger); }

/* v1.0.4 – vzhled tabulky přeprav */
.transports-table-card {
    border-radius: 18px;
    overflow: hidden;
}
.transports-table-card .table-responsive {
    border-radius: 0;
}
.transports-table tbody tr:last-child td {
    border-bottom: 0;
}

/* v1.0.8 – detail spotřeby vozidla */
.fuel-vehicle-row {
    cursor: pointer;
}
.fuel-vehicle-row:hover td {
    filter: brightness(.98);
}

/* v1.0.12 – zkrácená poznámka v detailu spotřeby */
.fuel-note-cell {
    max-width: 180px;
    white-space: nowrap;
}
.fuel-note-cell span {
    display: inline-block;
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    cursor: help;
}

/* v1.0.13 – sklad: vzhled tabulky a filtrů */
.stock-table-card,
.stock-search-card {
    border-radius: 18px;
}
.stock-table-card {
    overflow: hidden;
}
.stock-table-card .table-responsive {
    border-radius: 0;
}
.stock-table-card tbody tr:last-child td {
    border-bottom: 0;
}

/* v1.0.14 – sklad: filtry ve sloupcích tabulky */
.table-filter-button {
    color: inherit;
    font-weight: inherit;
}
.stock-column-filter-menu {
    max-height: 280px;
    overflow-y: auto;
    min-width: 220px;
}

/* v1.0.15 – detail skladové položky */
.stock-part-row {
    cursor: pointer;
}
.stock-detail-card,
.stock-detail-table-card {
    border-radius: 18px;
}
.stock-detail-table-card {
    overflow: hidden;
}
.stock-detail-table-card .table-responsive {
    border-radius: 0;
}
.stock-detail-table-card tbody tr:last-child td {
    border-bottom: 0;
}

/* v1.0.19 – sklad: kompaktní určení dílu v tabulce */
.stock-fitment-cell {
    min-width: 130px;
    max-width: 190px;
}
.stock-fitment-cell .small {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* v1.0.20 – sklad: kompaktní filtr určení */
.stock-fitment-filter-menu {
    max-height: 360px;
    overflow-y: auto;
    min-width: 240px;
}

/* v1.0.24 – sklad: přehlednější nízké zásoby */
.dashboard-low-stock-card {
    cursor: pointer;
}
.dashboard-low-stock-card:hover {
    transform: translateY(-1px);
}

/* v1.0.31 – označení notifikací přímo z horního zvonku */
.notification-item {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
}
.notification-item-link {
    display: flex;
    gap: .65rem;
    color: inherit;
    text-decoration: none;
    flex: 1 1 auto;
    min-width: 0;
}
.notification-read-form {
    flex: 0 0 auto;
    margin-top: .1rem;
}
.notification-read-form button {
    border: 1px solid rgba(15, 23, 42, .15);
    background: rgba(255,255,255,.85);
    border-radius: 999px;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.notification-read-form button:hover {
    background: #e8f5e9;
}

/* v1.0.32 – odsazení tlačítek v horním zvonku */
.notification-menu .notification-header + .px-2 {
    padding-top: .5rem;
}
.notification-menu .notification-header {
    margin-bottom: .25rem;
}


/* v1.0.51 – aktivní notifikace ve zvonku */
.notification-item.notification-read {
    opacity: .72;
}
.notification-read-label {
    display: inline-block !important;
    margin-top: 3px;
    color: #64748b !important;
    font-weight: 700;
}

/* v1.0.52 – sjednocené zarovnání tabulek přeprav Tento týden */
/* v1.0.53 – vynucené načtení style.css přes verzování v hlavičce */
.transports-week-table {
    table-layout: fixed;
    width: 100%;
    min-width: 820px;
}
.transports-week-table th,
.transports-week-table td {
    vertical-align: middle;
}
.transports-week-table th:nth-child(1),
.transports-week-table td:nth-child(1) {
    width: 12%;
    text-align: center;
    white-space: nowrap;
}
.transports-week-table th:nth-child(2),
.transports-week-table td:nth-child(2) {
    width: 24%;
    text-align: left;
}
.transports-week-table th:nth-child(3),
.transports-week-table td:nth-child(3),
.transports-week-table th:nth-child(4),
.transports-week-table td:nth-child(4) {
    width: 18%;
    text-align: left;
}
.transports-week-table th:nth-child(5),
.transports-week-table td:nth-child(5),
.transports-week-table th:nth-child(6),
.transports-week-table td:nth-child(6) {
    width: 14%;
    text-align: right;
    white-space: nowrap;
}
.transports-week-table th:nth-child(2),
.transports-week-table td:nth-child(2),
.transports-week-table th:nth-child(3),
.transports-week-table td:nth-child(3),
.transports-week-table th:nth-child(4),
.transports-week-table td:nth-child(4) {
    overflow-wrap: anywhere;
}

/* v1.0.57 – šipky pořadí jsou v buňce Datum, aby nepřidávaly nový sloupec a nerozhazovaly tabulku */
/* v1.0.58 – menší šipky bez orámování vedle názvu dne */
.transport-week-date-cell {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: .18rem;
    width: 100%;
    white-space: nowrap;
}
.transport-week-date-cell strong {
    display: inline-block;
    line-height: 1.15;
}
.transport-week-order-buttons {
    display: inline-flex;
    gap: .04rem;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    line-height: 1;
    vertical-align: middle;
}
.transport-week-order-buttons form,
.transport-week-order-form {
    display: inline-flex;
    margin: 0;
    padding: 0;
    line-height: 1;
}
.transport-week-order-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 12px;
    min-width: 12px;
    height: 14px;
    padding: 0;
    margin: 0;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: #64748b;
    font-size: .62rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    appearance: none;
}
.transport-week-order-btn:hover:not(:disabled),
.transport-week-order-btn:focus:not(:disabled) {
    color: #0d6efd;
    background: transparent !important;
    box-shadow: none !important;
}
.transport-week-order-btn:disabled {
    opacity: .28;
    cursor: default;
}


/* v1.0.61 – Dashboard: bezpečná oprava zarovnání a šířek bez změny obsahu */
.dashboard-layout-fix {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}
.dashboard-layout-fix > .row {
    min-width: 0;
}
.dashboard-layout-fix .card,
.dashboard-layout-fix .stat-card {
    max-width: 100%;
    min-width: 0;
}
.dashboard-layout-fix > .row.g-3.mb-4 > [class*="col-"] {
    display: flex;
    min-width: 0;
}
.dashboard-layout-fix > .row.g-3.mb-4 > [class*="col-"] > .stat-card,
.dashboard-layout-fix > .row.g-3.mb-4 > [class*="col-"] > a {
    width: 100%;
}
.dashboard-layout-fix > .row.g-3.mb-4 .stat-card {
    min-height: 116px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: .45rem;
    overflow: hidden;
}
.dashboard-layout-fix .stat-card span {
    line-height: 1.25;
    min-width: 0;
}
.dashboard-layout-fix .stat-card strong {
    display: block;
    max-width: 100%;
    min-width: 0;
    font-size: clamp(1.15rem, 1.55vw, 1.55rem);
    line-height: 1.18;
    overflow-wrap: anywhere;
}
.dashboard-layout-fix .row.g-3:not(.mb-4) > [class*="col-"] {
    min-width: 0;
}
.dashboard-layout-fix #costChart {
    width: 100% !important;
    max-width: 100% !important;
}
.dashboard-layout-fix .fuel-dashboard-card {
    width: 100%;
    max-width: 100%;
}
.dashboard-layout-fix .fuel-dashboard-card .card-body {
    overflow-x: hidden;
}
@media (max-width: 575.98px) {
    .dashboard-layout-fix > .row.g-3.mb-4 .stat-card {
        min-height: 96px;
        padding: 16px !important;
    }
    .dashboard-layout-fix .stat-card strong {
        font-size: 1.2rem;
    }
}


/* v1.0.62 – Dashboard: odstranění tlačítka a sjednocení šířky grafu Spotřeba paliva */
.dashboard-layout-fix .dashboard-fuel-row {
    min-width: 0;
    margin-top: 0;
}
.dashboard-layout-fix .dashboard-fuel-row > [class*="col-"] {
    min-width: 0;
}
.dashboard-layout-fix .dashboard-fuel-row .fuel-dashboard-card {
    width: 100%;
    max-width: 100%;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.dashboard-layout-fix .dashboard-fuel-row .card-body,
.dashboard-layout-fix .dashboard-fuel-row .fuel-chart-wrap {
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}
.dashboard-layout-fix .dashboard-fuel-row #fuelLitersChart {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
}


/* v1.0.64 – kompaktnější desktop menu pro menší monitory */
@media (min-width: 992px) {
    .premium-sidebar {
        width: var(--jcts-sidebar, 236px) !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        padding-bottom: 12px !important;
        overflow: hidden !important;
    }
    .sidebar-brand {
        margin-left: -10px !important;
        margin-right: -10px !important;
        padding: 10px 18px !important;
    }
    .sidebar-brand img {
        max-width: 202px !important;
        max-height: 48px !important;
    }
    .sidebar-nav {
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        min-height: 0 !important;
        padding: 10px 1px 8px !important;
        scrollbar-width: thin !important;
    }
    .sidebar-section {
        font-size: .66rem !important;
        letter-spacing: .10em !important;
        padding: 10px 11px 4px !important;
        margin-top: 2px !important;
    }
    .sidebar-link {
        min-height: 38px !important;
        border-radius: 12px !important;
        padding: 8px 10px !important;
        gap: 10px !important;
        font-size: .92rem !important;
        line-height: 1.12 !important;
    }
    .sidebar-link i {
        font-size: 1.03rem !important;
        width: 22px !important;
        min-width: 22px !important;
    }
    .sidebar-link span {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
    .sidebar-link:hover {
        transform: none !important;
    }
}
@media (max-height: 760px) and (min-width: 992px) {
    .sidebar-brand img {
        max-height: 42px !important;
    }
    .sidebar-section {
        padding: 7px 10px 3px !important;
    }
    .sidebar-link {
        min-height: 34px !important;
        padding: 7px 9px !important;
        font-size: .88rem !important;
    }
    .sidebar-nav {
        gap: 3px !important;
        padding-top: 7px !important;
    }
}


/* v1.0.65 – menu: vrácení původní šířky a výšky loga, ponechání kompaktních položek */
@media (min-width: 992px) {
    :root {
        --jcts-sidebar: 260px !important;
        --jcts-header: 86px !important;
    }
    .premium-sidebar {
        width: 260px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    .sidebar-brand {
        height: 86px !important;
        min-height: 86px !important;
        margin-left: -14px !important;
        margin-right: -14px !important;
        padding: 14px 24px !important;
    }
    .sidebar-brand img {
        max-width: 230px !important;
        max-height: 58px !important;
    }
    .premium-topbar {
        left: 260px !important;
        height: 86px !important;
        min-height: 86px !important;
        padding-left: 28px !important;
        padding-right: 28px !important;
    }
    .app-content {
        margin-left: 260px !important;
        width: calc(100% - 260px) !important;
        max-width: calc(100% - 260px) !important;
        padding-top: calc(86px + 22px) !important;
    }
}


/* v1.0.66 – menu: optimalizovaná šířka bez změny velikosti loga */
@media (min-width: 992px) {
    :root {
        --jcts-sidebar: 248px !important;
        --jcts-header: 86px !important;
    }
    .premium-sidebar {
        width: 248px !important;
        padding-left: 9px !important;
        padding-right: 9px !important;
    }
    .sidebar-brand {
        height: 86px !important;
        min-height: 86px !important;
        margin-left: -9px !important;
        margin-right: -9px !important;
        padding: 14px 9px !important;
    }
    .sidebar-brand img {
        max-width: 230px !important;
        max-height: 58px !important;
    }
    .premium-topbar {
        left: 248px !important;
        height: 86px !important;
        min-height: 86px !important;
    }
    .app-content {
        margin-left: 248px !important;
        width: calc(100% - 248px) !important;
        max-width: calc(100% - 248px) !important;
    }
}


/* v1.0.67 – menu: ještě užší panel a větší logo */
@media (min-width: 992px) {
    :root {
        --jcts-sidebar: 242px !important;
        --jcts-header: 86px !important;
    }
    .premium-sidebar {
        width: 242px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    .sidebar-brand {
        height: 86px !important;
        min-height: 86px !important;
        margin-left: -8px !important;
        margin-right: -8px !important;
        padding: 10px 6px !important;
    }
    .sidebar-brand img {
        max-width: 236px !important;
        max-height: 66px !important;
    }
    .premium-topbar {
        left: 242px !important;
        height: 86px !important;
        min-height: 86px !important;
    }
    .app-content {
        margin-left: 242px !important;
        width: calc(100% - 242px) !important;
        max-width: calc(100% - 242px) !important;
    }
}


/* v1.0.68 – menu: opatrné zvětšení loga bez změny layoutu */
@media (min-width: 992px) {
    .sidebar-brand {
        overflow: hidden !important;
    }
    .sidebar-brand img {
        max-width: 230px !important;
        max-height: 72px !important;
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }
}


/* v1.0.69 – mobilní menu: čistší horní lišta, světlé větší logo, bez duplicitních položek */
@media (max-width: 991px) {
    .mobile-menu-button {
        display: none !important;
    }
    .topbar-left {
        min-width: 0 !important;
    }
    .mobile-topbar-logo {
        height: 46px !important;
        max-height: 46px !important;
        max-width: 230px !important;
        width: auto !important;
        object-fit: contain !important;
        filter: drop-shadow(0 5px 14px rgba(0,0,0,.28)) brightness(1.18) !important;
    }
    .premium-mobile-menu .offcanvas-header {
        justify-content: center !important;
        min-height: 78px !important;
    }
    .premium-mobile-menu .offcanvas-header img {
        max-width: 250px !important;
        max-height: 58px !important;
        width: 92% !important;
        object-fit: contain !important;
        filter: drop-shadow(0 6px 18px rgba(0,0,0,.35)) brightness(1.18) !important;
    }
    .premium-mobile-menu .offcanvas-body {
        padding-top: 14px !important;
    }
}


/* v1.0.72 – detail vozidla: servisní historie jako klikací tabulka */
.vehicle-service-history-table {
    table-layout: fixed;
}
.vehicle-service-history-table th:nth-child(1),
.vehicle-service-history-table td:nth-child(1) {
    width: 105px;
}
.vehicle-service-history-table th:nth-child(2),
.vehicle-service-history-table td:nth-child(2) {
    width: 120px;
}
.vehicle-service-history-table th:nth-child(4),
.vehicle-service-history-table td:nth-child(4) {
    width: 180px;
}
.vehicle-service-history-table td {
    vertical-align: middle;
}
.vehicle-service-history-table .service-row-click {
    cursor: pointer;
}
.vehicle-service-history-table .service-row-click:focus {
    outline: 2px solid rgba(13,110,253,.45);
    outline-offset: -2px;
}
@media (max-width: 767.98px) {
    .vehicle-service-history-table {
        table-layout: auto;
        min-width: 720px;
    }
}


/* v1.0.75 – oprava zarovnání tlačítek v detailu vozidla a pravého okraje horní lišty */
@media (min-width: 992px) {
    .premium-topbar {
        right: auto !important;
        width: calc(100vw - var(--jcts-sidebar, 242px)) !important;
        max-width: none !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
}
.vehicle-detail-top-actions {
    text-align: right;
}
.vehicle-detail-top-actions .btn {
    white-space: nowrap;
}
@media (max-width: 767.98px) {
    .vehicle-detail-top-actions {
        width: 100%;
        justify-content: flex-start !important;
        margin-left: 0 !important;
    }
}


/* v1.0.76 – detail vozidla: pravý okraj horních tlačítek srovnaný s kartami pod nimi */
@media (min-width: 768px) {
    .vehicle-detail-top-actions-aligned {
        padding-right: 12px !important;
    }
}
@media (max-width: 767.98px) {
    .vehicle-detail-top-actions-aligned {
        padding-right: 0 !important;
    }
}


/* v1.0.77 – servisní formulář: použité díly a materiál */
.service-used-parts-box {
    background: rgba(248,250,252,.75);
}
.used-part-row {
    border-bottom: 1px solid rgba(15,23,42,.08);
    padding-bottom: .5rem;
}
.used-part-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}


/* v1.0.78 – servisní formulář: bez podřádkového zobrazení zásoby dílu */
.service-used-parts-box .used-part-info {
    display: none !important;
}


/* v1.0.79 – servisní formulář: ikonová tlačítka pro použité díly */
.used-part-icon-actions {
    align-items: center;
}
.used-part-icon-actions .btn {
    width: 38px;
    height: 38px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    line-height: 1;
}
.used-part-icon-actions .remove-used-part {
    color: #dc3545;
    background: #fff;
}
.used-part-icon-actions .remove-used-part:hover {
    color: #fff;
}
@media (max-width: 767.98px) {
    .used-part-icon-actions .btn {
        width: 44px;
        height: 40px;
    }
}


/* v1.0.80 – servisní formulář: další řádky použitých dílů bez opakovaných popisků */
.used-part-row-extra label.form-label {
    display: none !important;
}


/* v1.0.81 – servisní formulář: menší mezery u dalších řádků použitých dílů */
.used-part-row-extra {
    margin-top: .25rem !important;
    padding-top: 0 !important;
}
.used-part-row-extra .col-md-7,
.used-part-row-extra .col-md-3,
.used-part-row-extra .col-md-2 {
    padding-top: 0 !important;
}
.used-part-row-extra .used-part-icon-actions {
    margin-top: 0 !important;
}
@media (min-width: 768px) {
    .used-part-row-extra {
        align-items: center !important;
    }
}


/* v1.0.85 – kalendář termínů: moderní tabulka a km úkony */
.calendar-table-card {
    border-radius: 18px;
    overflow: hidden;
}
.calendar-table-card .table-responsive {
    border-radius: 0;
}
.calendar-deadlines-table tbody tr:last-child td {
    border-bottom: 0;
}
.calendar-deadlines-table td,
.calendar-deadlines-table th {
    vertical-align: middle;
}
.calendar-row-click {
    cursor: pointer;
}
.calendar-row-click:hover td {
    filter: brightness(.98);
}


/* v1.0.86 – hezčí našeptávání dílů v servisu */
.service-part-suggest-wrap {
    position: relative;
}
.service-part-suggest-box {
    display: none;
    position: absolute;
    z-index: 2100;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    max-height: 280px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid rgba(15,23,42,.14);
    border-radius: 14px;
    box-shadow: 0 18px 42px rgba(15,23,42,.18);
    padding: 6px;
}
.service-part-suggest-box.show {
    display: block;
}
.service-part-suggest-item {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    border-radius: 10px;
    padding: 9px 10px;
    display: block;
}
.service-part-suggest-item:hover,
.service-part-suggest-item:focus {
    background: #eef6ff;
}
.service-part-suggest-item strong {
    display: block;
    color: #0f172a;
    font-size: .92rem;
    line-height: 1.2;
}
.service-part-suggest-item small {
    display: block;
    color: #64748b;
    margin-top: 2px;
    line-height: 1.2;
}
html.dark-mode .service-part-suggest-box,
body.dark-mode .service-part-suggest-box {
    background: #0f1f33;
    border-color: rgba(148,163,184,.22);
    box-shadow: 0 18px 42px rgba(0,0,0,.38);
}
html.dark-mode .service-part-suggest-item,
body.dark-mode .service-part-suggest-item {
    color: #e2e8f0;
}
html.dark-mode .service-part-suggest-item:hover,
html.dark-mode .service-part-suggest-item:focus,
body.dark-mode .service-part-suggest-item:hover,
body.dark-mode .service-part-suggest-item:focus {
    background: #132944;
}
html.dark-mode .service-part-suggest-item strong,
body.dark-mode .service-part-suggest-item strong {
    color: #e2e8f0;
}
html.dark-mode .service-part-suggest-item small,
body.dark-mode .service-part-suggest-item small {
    color: #94a3b8;
}


/* v1.0.91 – samostatný přehled servisů */
.services-vehicles-card,
.services-table-card {
    border-radius: 18px;
    overflow: hidden;
}
.service-vehicle-tile {
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 16px;
    padding: 14px;
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,250,252,.96));
    height: 100%;
}
.services-table-card .table-responsive {
    border-radius: 0;
}
.services-overview-table tbody tr:last-child td {
    border-bottom: 0;
}
.services-overview-table .service-row-click {
    cursor: pointer;
}
.services-overview-table .service-row-click:hover td {
    filter: brightness(.98);
}
html.dark-mode .service-vehicle-tile,
body.dark-mode .service-vehicle-tile {
    background: linear-gradient(135deg, rgba(15,31,51,.96), rgba(11,25,43,.96));
    border-color: rgba(148,163,184,.16);
}


/* v1.0.93 – mobilní spodní menu a stránka Více */
.mobile-bottom-nav {
    left: 12px !important;
    right: 12px !important;
    bottom: 8px !important;
    gap: 4px !important;
    padding: 5px !important;
    border-radius: 21px !important;
    background: rgba(255,255,255,.72) !important;
    -webkit-backdrop-filter: blur(20px) saturate(155%) !important;
    backdrop-filter: blur(20px) saturate(155%) !important;
    border: 1px solid rgba(255,255,255,.42) !important;
    box-shadow: 0 12px 34px rgba(15,23,42,.18) !important;
}
.mobile-bottom-nav a,
.mobile-bottom-nav button {
    min-height: 48px !important;
    padding: 5px 2px !important;
    border-radius: 16px !important;
    font-size: .66rem !important;
    gap: 1px !important;
}
.mobile-bottom-nav i {
    font-size: 1.14rem !important;
}
.mobile-bottom-spacer {
    height: 72px !important;
}
html.dark-mode .mobile-bottom-nav,
body.dark-mode .mobile-bottom-nav {
    background: rgba(8,20,35,.72) !important;
    border-color: rgba(148,163,184,.20) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.34) !important;
}
.mobile-more-page {
    max-width: 980px;
    margin: 0 auto;
}
.mobile-more-account {
    border-radius: 20px;
    overflow: hidden;
}
.mobile-more-avatar {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg,#0d6efd,#00a3ff);
    color: #fff;
    font-size: 1.45rem;
    flex: 0 0 auto;
}
.mobile-more-section {
    margin-bottom: 18px;
}
.mobile-more-section-title {
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: #64748b;
    margin: 0 0 8px 4px;
}
.mobile-more-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.mobile-more-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 14px;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 800;
    color: #0f172a;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 8px 22px rgba(15,23,42,.06);
}
.mobile-more-link i {
    width: 28px;
    height: 28px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0d6efd;
    background: rgba(13,110,253,.10);
    flex: 0 0 auto;
}
.mobile-more-link:hover {
    color: #0d6efd;
    transform: translateY(-1px);
}
html.dark-mode .mobile-more-section-title,
body.dark-mode .mobile-more-section-title {
    color: #94a3b8;
}
html.dark-mode .mobile-more-link,
body.dark-mode .mobile-more-link {
    color: #e2e8f0;
    background: rgba(15,31,51,.92);
    border-color: rgba(148,163,184,.14);
    box-shadow: 0 8px 22px rgba(0,0,0,.22);
}
html.dark-mode .mobile-more-link i,
body.dark-mode .mobile-more-link i {
    color: #93c5fd;
    background: rgba(147,197,253,.12);
}
@media (max-width: 420px) {
    .mobile-more-grid {
        grid-template-columns: 1fr;
    }
}


/* v1.0.94 – mobilní spodní lišta: čitelnost ve světlém režimu */
.mobile-bottom-nav {
    background: rgba(255,255,255,.86) !important;
    border-color: rgba(15,23,42,.16) !important;
}
.mobile-bottom-nav a,
.mobile-bottom-nav button {
    color: #1e293b !important;
    text-shadow: none !important;
}
.mobile-bottom-nav a i,
.mobile-bottom-nav button i {
    color: #0f172a !important;
}
.mobile-bottom-nav a span,
.mobile-bottom-nav button span {
    color: #1e293b !important;
}
.mobile-bottom-nav a.active,
.mobile-bottom-nav a.active i,
.mobile-bottom-nav a.active span {
    color: #fff !important;
}
html.dark-mode .mobile-bottom-nav a,
html.dark-mode .mobile-bottom-nav button,
body.dark-mode .mobile-bottom-nav a,
body.dark-mode .mobile-bottom-nav button {
    color: #e2e8f0 !important;
}
html.dark-mode .mobile-bottom-nav a i,
html.dark-mode .mobile-bottom-nav button i,
body.dark-mode .mobile-bottom-nav a i,
body.dark-mode .mobile-bottom-nav button i {
    color: #e2e8f0 !important;
}
html.dark-mode .mobile-bottom-nav a span,
html.dark-mode .mobile-bottom-nav button span,
body.dark-mode .mobile-bottom-nav a span,
body.dark-mode .mobile-bottom-nav button span {
    color: #e2e8f0 !important;
}
html.dark-mode .mobile-bottom-nav a.active,
html.dark-mode .mobile-bottom-nav a.active i,
html.dark-mode .mobile-bottom-nav a.active span,
body.dark-mode .mobile-bottom-nav a.active,
body.dark-mode .mobile-bottom-nav a.active i,
body.dark-mode .mobile-bottom-nav a.active span {
    color: #fff !important;
}


/* v1.0.97 – stránka Nastavení */
.settings-overview-card {
    border-radius: 18px;
    overflow: hidden;
}
.settings-overview-icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(13,110,253,.10);
    color: #0d6efd;
    font-size: 1.15rem;
    flex: 0 0 auto;
}
.settings-overview-list {
    margin: 0;
    padding-left: 1.15rem;
    color: #475569;
}
.settings-overview-list li {
    margin-bottom: .35rem;
}
.settings-next-card {
    border-radius: 18px;
    overflow: hidden;
}
.settings-next-pill {
    font-size: .82rem;
    padding: .55rem .75rem;
}
html.dark-mode .settings-overview-list,
body.dark-mode .settings-overview-list {
    color: #cbd5e1;
}
html.dark-mode .settings-overview-icon,
body.dark-mode .settings-overview-icon {
    background: rgba(147,197,253,.12);
    color: #93c5fd;
}


/* v1.0.98 – funkční nastavení */
.settings-live-card {
    border-radius: 18px;
    overflow: hidden;
}


/* v1.0.99 – nastavení uvnitř kategorií */
.settings-category-form {
    border: 1px solid rgba(13,110,253,.16);
    border-radius: 14px;
    padding: 12px;
    background: rgba(13,110,253,.04);
}
html.dark-mode .settings-category-form,
body.dark-mode .settings-category-form {
    background: rgba(147,197,253,.08);
    border-color: rgba(147,197,253,.18);
}


/* v1.0.100 – matice ikon nastavení */
.settings-icon-matrix {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}
.settings-icon-tile {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 132px;
    padding: 16px 14px;
    border-radius: 18px;
    text-decoration: none;
    color: #0f172a;
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 10px 26px rgba(15,23,42,.06);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.settings-icon-tile:hover {
    color: #0d6efd;
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(15,23,42,.10);
}
.settings-icon-tile.active {
    border-color: rgba(13,110,253,.42);
    box-shadow: 0 16px 38px rgba(13,110,253,.16);
}
.settings-icon-tile-icon {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(13,110,253,.10);
    color: #0d6efd;
    font-size: 1.25rem;
}
.settings-icon-tile-title {
    font-weight: 900;
    line-height: 1.15;
}
.settings-icon-tile small {
    color: #64748b;
    line-height: 1.25;
}
.settings-category-detail {
    border-radius: 18px;
    overflow: hidden;
}
html.dark-mode .settings-icon-tile,
body.dark-mode .settings-icon-tile {
    color: #e2e8f0;
    background: rgba(15,31,51,.94);
    border-color: rgba(148,163,184,.14);
    box-shadow: 0 10px 26px rgba(0,0,0,.22);
}
html.dark-mode .settings-icon-tile small,
body.dark-mode .settings-icon-tile small {
    color: #94a3b8;
}
html.dark-mode .settings-icon-tile-icon,
body.dark-mode .settings-icon-tile-icon {
    color: #93c5fd;
    background: rgba(147,197,253,.12);
}
@media (max-width: 1199px) {
    .settings-icon-matrix {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
    .settings-icon-matrix {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .settings-icon-tile {
        min-height: 118px;
        padding: 14px 12px;
    }
}


/* v1.0.103 – Docházka */
.attendance-layout {
    display: grid;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}
.attendance-days,
.attendance-employees,
.attendance-filter-card,
.employee-card {
    border-radius: 18px;
    overflow: hidden;
}
.attendance-day-link {
    text-decoration: none;
    color: inherit;
}
.attendance-day-link:hover {
    background: rgba(13,110,253,.06);
}
.attendance-day-link.active {
    background: #0d6efd;
    color: #fff;
    border-color: #0d6efd;
}
.attendance-day-link.active small,
.attendance-day-link.active .badge {
    color: inherit;
}
.attendance-weekend:not(.active) {
    background: rgba(100,116,139,.08);
}
.attendance-holiday:not(.active) {
    background: rgba(220,53,69,.08);
}
.attendance-table select {
    min-width: 150px;
}
.employee-card-inactive {
    opacity: .72;
}
html.dark-mode .attendance-weekend:not(.active),
body.dark-mode .attendance-weekend:not(.active) {
    background: rgba(148,163,184,.10);
}
html.dark-mode .attendance-holiday:not(.active),
body.dark-mode .attendance-holiday:not(.active) {
    background: rgba(248,113,113,.10);
}
@media (max-width: 991px) {
    .attendance-layout {
        grid-template-columns: 1fr;
    }
}

/* v1.0.209 – Docházka: barva přímo ve výběru stavu */
.attendance-status-select[data-attendance-status] {
    min-width: 170px;
    font-weight: 700;
    color-scheme: light;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.attendance-status-select[data-attendance-status="present"] {
    color: #0f5132;
    background-color: #d1e7dd;
    border-color: #badbcc;
}
.attendance-status-select[data-attendance-status="half_day"] {
    color: #055160;
    background-color: #cff4fc;
    border-color: #b6effb;
}
.attendance-status-select[data-attendance-status="vacation"] {
    color: #084298;
    background-color: #cfe2ff;
    border-color: #b6d4fe;
}
.attendance-status-select[data-attendance-status="sick"],
.attendance-status-select[data-attendance-status="obstacle"] {
    color: #664d03;
    background-color: #fff3cd;
    border-color: #ffecb5;
}
.attendance-status-select[data-attendance-status="holiday"],
.attendance-status-select[data-attendance-status="weekend"],
.attendance-status-select[data-attendance-status="not_working"] {
    color: #41464b;
    background-color: #e2e3e5;
    border-color: #d3d6d8;
}
.attendance-status-select[data-attendance-status="absent"] {
    color: #842029;
    background-color: #f8d7da;
    border-color: #f5c2c7;
}
.attendance-status-select[data-attendance-status="free"] {
    color: #055160;
    background-color: #cff4fc;
    border-color: #b6effb;
}
.attendance-status-select[data-attendance-status="business"] {
    color: #fff;
    background-color: #212529;
    border-color: #212529;
}

/* v1.0.107 – role module matrix */
.role-access-table th:not(:first-child),.role-access-table td:not(:first-child){text-align:center;min-width:84px}.role-access-table .form-check-input{width:1.15em;height:1.15em;cursor:pointer}

/* v1.0.109 – role tools menu */
.sidebar-section + .sidebar-link{margin-top:0}

/* v1.0.115 dashboard role subsettings */
.role-dashboard-toggle{padding:.1rem .35rem;margin-right:.35rem}.dashboard-role-subrow td{background:rgba(13,110,253,.04)}.dashboard-role-subsettings{border-left:3px solid var(--bs-primary);padding:.7rem .8rem}.dashboard-permission-table th,.dashboard-permission-table td{vertical-align:middle}.dashboard-permission-table th:not(:first-child),.dashboard-permission-table td:not(:first-child){text-align:center;min-width:84px}

/* v1.0.117 – mobile bottom dynamic slots */
@media (max-width:991px){.mobile-bottom-nav{grid-template-columns:repeat(var(--mobile-bottom-items,5),minmax(0,1fr))!important;}}


/* v1.0.138 – přihlášení: Renault Master jako pozadí, formulář ve středu */
.login-body{
    position:relative!important;
    min-height:100vh!important;
    margin:0!important;
    background:#071827 url('../img/renault-master-login.png') center center / cover no-repeat fixed!important;
}
.login-body::before{
    content:""!important;
    position:fixed!important;
    inset:0!important;
    z-index:0!important;
    background:
        linear-gradient(90deg,rgba(3,15,28,.72) 0%,rgba(3,15,28,.42) 48%,rgba(3,15,28,.70) 100%),
        rgba(3,15,28,.18)!important;
    pointer-events:none!important;
}
.login-shell{
    position:relative!important;
    z-index:1!important;
    min-height:100vh!important;
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:28px!important;
    overflow:visible!important;
}
.login-photo{display:none!important}
.login-panel{
    width:min(430px,100%)!important;
    max-width:430px!important;
    padding:0!important;
    margin:0!important;
    flex:0 1 430px!important;
}
.login-card{
    width:100%!important;
    max-width:none!important;
    border:1px solid rgba(255,255,255,.34)!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 24px 70px rgba(0,0,0,.36)!important;
    backdrop-filter:blur(8px)!important;
}
.login-card .card-body{padding:32px!important}
.login-logo{max-width:230px!important;width:78%!important}
@media (max-width: 700px){
    .login-body{background-position:center center!important;background-attachment:scroll!important}
    .login-body::before{background:rgba(3,15,28,.60)!important}
    .login-shell{padding:18px!important}
    .login-card .card-body{padding:26px 22px!important}
}


/* v1.0.144 – Výplaty: barvy dnů a příprava denních počtů */
.payroll-day-row {
    transition: background-color .16s ease;
}
.payroll-day-row--present {
    background: rgba(25, 135, 84, .16) !important;
}
.payroll-day-row--half-day {
    background: rgba(13, 202, 240, .16) !important;
}
.payroll-day-row--sick {
    background: rgba(255, 193, 7, .23) !important;
}
.payroll-day-row--vacation {
    background: rgba(13, 110, 253, .16) !important;
}
.payroll-day-row--other,
.payroll-day-row.attendance-holiday {
    background: rgba(220, 53, 69, .15) !important;
}
.payroll-day-row--weekend {
    background: rgba(100, 116, 139, .08) !important;
}
.payroll-day-count {
    width: 6.2rem !important;
    min-width: 6.2rem !important;
    max-width: 6.2rem !important;
    text-align: right;
}
html.dark-mode .payroll-day-row--present,
body.dark-mode .payroll-day-row--present {
    background: rgba(25, 135, 84, .24) !important;
}
html.dark-mode .payroll-day-row--half-day,
body.dark-mode .payroll-day-row--half-day {
    background: rgba(13, 202, 240, .20) !important;
}
html.dark-mode .payroll-day-row--sick,
body.dark-mode .payroll-day-row--sick {
    background: rgba(255, 193, 7, .19) !important;
}
html.dark-mode .payroll-day-row--vacation,
body.dark-mode .payroll-day-row--vacation {
    background: rgba(13, 110, 253, .24) !important;
}
html.dark-mode .payroll-day-row--other,
body.dark-mode .payroll-day-row--other,
html.dark-mode .payroll-day-row.attendance-holiday,
body.dark-mode .payroll-day-row.attendance-holiday {
    background: rgba(220, 53, 69, .24) !important;
}
html.dark-mode .payroll-day-row--weekend,
body.dark-mode .payroll-day-row--weekend {
    background: rgba(148, 163, 184, .10) !important;
}
@media (max-width: 420px) {
    .payroll-day-count {
        width: 5.6rem !important;
        min-width: 5.6rem !important;
        max-width: 5.6rem !important;
    }
}


/* v1.0.145 – Výplaty: připravené souhrnné počty */
.payroll-summary-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.payroll-summary-field {
    min-width: 0;
}
.payroll-summary-field .form-label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
}
.payroll-summary-count {
    width: 6.2rem !important;
    min-width: 6.2rem !important;
    max-width: 6.2rem !important;
    text-align: right;
}
@media (max-width: 767px) {
    .payroll-summary-fields {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}


/* v1.0.146 – Výplaty: souhrnná pole nad kartou Počty */
.attendance-layout > .payroll-summary-fields + .attendance-employees {
    margin-top: 0;
}
.attendance-layout {
    grid-template-areas:
        "days summary"
        "days counts";
}
.attendance-layout > .attendance-days {
    grid-area: days;
}
.attendance-layout > .payroll-summary-fields {
    grid-area: summary;
}
.attendance-layout > .attendance-employees {
    grid-area: counts;
}
.payroll-summary-fields {
    margin: 0 !important;
    padding: 16px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 4px 18px rgba(0,0,0,.06);
}
html.dark-mode .payroll-summary-fields,
body.dark-mode .payroll-summary-fields {
    background: rgba(255,255,255,.04);
}
@media (max-width: 991px) {
    .attendance-layout {
        grid-template-areas:
            "days"
            "summary"
            "counts";
    }
}


/* v1.0.147 – Výplaty: souhrnné buňky a navazující karta Počty */
.attendance-layout {
    grid-template-areas: "days right" !important;
}
.attendance-layout > .attendance-days {
    grid-area: days !important;
}
.attendance-layout > .payroll-right-column {
    grid-area: right !important;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}
.attendance-layout > .payroll-right-column > .attendance-employees {
    margin: 0 !important;
}
.attendance-layout > .payroll-summary-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.payroll-summary-field {
    padding: 14px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 4px 18px rgba(0,0,0,.06);
}
.payroll-summary-field .input-group {
    width: 100%;
    flex-wrap: nowrap;
}
.payroll-summary-count {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    text-align: right;
}
.payroll-summary-field .input-group-text {
    min-width: 42px;
    justify-content: center;
}
html.dark-mode .payroll-summary-field,
body.dark-mode .payroll-summary-field {
    background: rgba(255,255,255,.04);
}
@media (max-width: 991px) {
    .attendance-layout {
        grid-template-areas:
            "days"
            "right" !important;
    }
}
@media (max-width: 767px) {
    .attendance-layout > .payroll-summary-fields {
        grid-template-columns: 1fr;
    }
}


/* v1.0.148 – Výplaty: řádky karty Výpočet */
.payroll-calculation-card .card-body {
    background: transparent;
}
.payroll-calculation-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
}
.payroll-calculation-row + .payroll-calculation-row {
    border-top: 1px solid rgba(15,23,42,.10);
}
.payroll-calculation-row label {
    margin: 0;
    font-weight: 700;
}
.payroll-calculation-input {
    width: 9.1rem;
    min-width: 9.1rem;
    max-width: 9.1rem;
    flex-wrap: nowrap;
}
.payroll-calculation-input .payroll-summary-count {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}
html.dark-mode .payroll-calculation-row + .payroll-calculation-row,
body.dark-mode .payroll-calculation-row + .payroll-calculation-row {
    border-top-color: rgba(255,255,255,.12);
}
@media (max-width: 480px) {
    .payroll-calculation-row {
        gap: 10px;
        padding: 13px 14px;
    }
    .payroll-calculation-row label {
        font-size: .92rem;
    }
    .payroll-calculation-input {
        width: 8.3rem;
        min-width: 8.3rem;
        max-width: 8.3rem;
    }
}


/* v1.0.149 – Výplaty: kompaktní řádky a živý součet */
.payroll-calculation-row {
    gap: 12px;
    padding: 10px 14px;
}
.payroll-calculation-input {
    width: 8.5rem;
    min-width: 8.5rem;
    max-width: 8.5rem;
}
.payroll-calculation-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-top: 2px solid rgba(15,23,42,.14);
    background: rgba(13,110,253,.06);
}
.payroll-calculation-total strong {
    font-size: 1rem;
}
.payroll-calculation-total output {
    font-weight: 800;
    font-size: 1.08rem;
    white-space: nowrap;
}
html.dark-mode .payroll-calculation-total,
body.dark-mode .payroll-calculation-total {
    border-top-color: rgba(255,255,255,.16);
    background: rgba(13,110,253,.16);
}
@media (max-width: 480px) {
    .payroll-calculation-row {
        padding: 9px 12px;
    }
    .payroll-calculation-input {
        width: 8rem;
        min-width: 8rem;
        max-width: 8rem;
    }
    .payroll-calculation-total {
        padding: 11px 12px;
    }
}


/* v1.0.150 – Výplaty: extra kompaktní řádky a přidané položky */
.payroll-calculation-row {
    gap: 10px;
    padding: 7px 12px;
    min-height: 40px;
}
.payroll-calculation-row label {
    font-size: .92rem;
    line-height: 1.15;
}
.payroll-calculation-input {
    width: 8rem;
    min-width: 8rem;
    max-width: 8rem;
}
.payroll-calculation-input .form-control,
.payroll-calculation-input .input-group-text {
    min-height: 31px;
    padding-top: .22rem;
    padding-bottom: .22rem;
}
.payroll-add-row-wrap {
    padding: 8px 12px;
    border-top: 1px solid rgba(15,23,42,.10);
}
.payroll-add-row {
    width: auto !important;
    margin: 0 !important;
}
.payroll-calculation-row--custom {
    align-items: center;
}
.payroll-custom-label {
    min-width: 0;
    max-width: 100%;
    flex: 1 1 auto;
    font-size: .92rem;
}
.payroll-custom-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
}
.payroll-remove-row {
    width: 31px !important;
    min-width: 31px;
    height: 31px;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-grid;
    place-items: center;
}
html.dark-mode .payroll-add-row-wrap,
body.dark-mode .payroll-add-row-wrap {
    border-top-color: rgba(255,255,255,.12);
}
@media (max-width: 480px) {
    .payroll-calculation-row {
        padding: 7px 10px;
    }
    .payroll-calculation-row--custom {
        align-items: flex-start;
    }
    .payroll-calculation-input {
        width: 7.6rem;
        min-width: 7.6rem;
        max-width: 7.6rem;
    }
    .payroll-custom-actions {
        gap: 4px;
    }
    .payroll-custom-label {
        min-width: 0;
    }
}


/* v1.0.151 – Výplaty: zálohy a náhrady */
.payroll-advances-card {
    margin-top: 16px;
    overflow: hidden;
}
.payroll-advances-table th,
.payroll-advances-table td {
    padding: 10px 12px;
    vertical-align: middle;
}
.payroll-advances-table th {
    white-space: nowrap;
    font-size: .82rem;
}
.payroll-advance-amount-group {
    width: 9.3rem;
    min-width: 9.3rem;
    margin-left: auto;
    flex-wrap: nowrap;
}
.payroll-advance-amount {
    min-width: 0;
    text-align: right;
}
.payroll-advance-sign {
    width: 31px;
    justify-content: center;
    font-weight: 800;
}
@media (max-width: 767px) {
    .payroll-advances-table {
        min-width: 720px;
    }
}


/* v1.0.152 – Výplata: Exekuce, patička a automatické řádky záloh */
.payroll-add-row-footer {
    padding: 8px 12px;
    background: transparent;
    border-top: 1px solid rgba(15,23,42,.10);
}
.payroll-add-row-footer .payroll-add-row {
    width: auto !important;
    margin: 0 !important;
}
html.dark-mode .payroll-add-row-footer,
body.dark-mode .payroll-add-row-footer {
    border-top-color: rgba(255,255,255,.12);
}


/* v1.0.153 – Výplata: záporná exekuce a zarovnání součtu */
.payroll-execution-sign {
    width: 31px;
    justify-content: center;
    font-weight: 800;
}
.payroll-add-row-wrap {
    padding: 8px 12px;
    border-top: 1px solid rgba(15,23,42,.10);
}
.payroll-add-row-wrap .payroll-add-row {
    width: auto !important;
    margin: 0 !important;
}
.payroll-calculation-total {
    justify-content: flex-end;
}
.payroll-calculation-total > strong {
    margin-right: auto;
}
.payroll-calculation-total-amount {
    width: 8rem;
    min-width: 8rem;
    max-width: 8rem;
    text-align: right;
}
.payroll-calculation-total output {
    display: block;
    width: 100%;
    text-align: right;
}
html.dark-mode .payroll-add-row-wrap,
body.dark-mode .payroll-add-row-wrap {
    border-top-color: rgba(255,255,255,.12);
}


/* v1.0.154 – Výplata: tlačítko vlevo, součet u částky */
.payroll-calculation-total {
    justify-content: space-between;
}
.payroll-calculation-total .payroll-add-row {
    width: auto !important;
    margin: 0 !important;
}
.payroll-calculation-total-result {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    min-width: 0;
}
.payroll-calculation-total-result > strong {
    margin: 0 !important;
    white-space: nowrap;
}
@media (max-width: 480px) {
    .payroll-calculation-total-result {
        gap: 8px;
    }
}


/* v1.0.155 – Výplata: součet záloh a náhrad */
.payroll-calculation-linked[readonly] {
    background: rgba(13,110,253,.08);
    cursor: default;
}
.payroll-advances-total-row th {
    border-top: 2px solid rgba(15,23,42,.14);
    background: rgba(13,110,253,.06);
    font-weight: 800;
}
.payroll-advances-total-row output {
    white-space: nowrap;
    font-weight: 800;
}
html.dark-mode .payroll-calculation-linked[readonly],
body.dark-mode .payroll-calculation-linked[readonly] {
    background: rgba(13,110,253,.18);
}
html.dark-mode .payroll-advances-total-row th,
body.dark-mode .payroll-advances-total-row th {
    border-top-color: rgba(255,255,255,.16);
    background: rgba(13,110,253,.16);
}


/* v1.0.156 – stejné zvýraznění součtu záloh */
.payroll-advances-total-row output {
    font-size: 1.08rem;
}


/* v1.0.157 – stav automatického ukládání Výplat */
.payroll-total-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}
.payroll-save-status {
    white-space: nowrap;
}


/* v1.0.158 – spolehlivé načtení uložené Výplaty */
.payroll-save-status.text-danger {
    font-weight: 700;
}


/* v1.0.159 – ukládání pro všechny položky Výplat */
.payroll-save-status.text-success {
    font-weight: 700;
}


/* v1.0.160 – sjednocené součty Výplat a denní částky */
.payroll-days-total {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding: 12px 14px;
    border-top: 2px solid rgba(15,23,42,.14);
    background: rgba(13,110,253,.06);
}
.payroll-days-total > strong {
    margin-right: auto;
}
.payroll-days-total-amount {
    width: 8rem;
    min-width: 8rem;
    max-width: 8rem;
    text-align: right;
}
.payroll-days-total output {
    display: block;
    width: 100%;
    text-align: right;
    font-weight: 800;
    font-size: 1.08rem;
    white-space: nowrap;
}
html.dark-mode .payroll-days-total,
body.dark-mode .payroll-days-total {
    border-top-color: rgba(255,255,255,.16);
    background: rgba(13,110,253,.16);
}


/* v1.0.161 – sjednocení patičky Záloh a náhrad */
.payroll-advances-total-row th {
    padding: 12px 14px !important;
    vertical-align: middle;
}
.payroll-advances-total-label {
    text-align: left !important;
    font-size: 1rem;
}
.payroll-advances-total-amount {
    width: 8rem;
    min-width: 8rem;
    max-width: 8rem;
    text-align: right !important;
}
.payroll-advances-total-amount output {
    display: block;
    width: 100%;
    text-align: right;
    font-size: 1.08rem;
    font-weight: 800;
    white-space: nowrap;
}


/* v1.0.162 – Zálohy a náhrady: Celkem stejná velikost */
.payroll-advances-total-row .payroll-advances-total-label {
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}
.payroll-advances-total-row .payroll-advances-total-amount {
    font-size: 1.08rem !important;
    line-height: 1.2 !important;
}


/* v1.0.164 – Docházka: stabilní dva sloupce */
.attendance-page-layout {
    display: grid !important;
    grid-template-columns: minmax(210px, 280px) minmax(0, 1fr) !important;
    grid-template-areas: "days employees" !important;
    gap: 16px !important;
    align-items: start !important;
}
.attendance-page-layout > .attendance-days {
    grid-area: days !important;
    min-width: 0;
}
.attendance-page-layout > .attendance-employees {
    grid-area: employees !important;
    min-width: 0;
}
.attendance-page-layout .attendance-day-link {
    padding-left: 12px;
    padding-right: 12px;
}
.attendance-page-layout .attendance-day-link .badge {
    font-size: .72rem;
}
@media (max-width: 991px) {
    .attendance-page-layout {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            "days"
            "employees" !important;
    }
}


/* v1.0.165 – Výplaty: zarovnané štítky v tabulce s daty */
.payroll-day-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 104px;
    min-width: 104px;
    text-align: center;
    white-space: nowrap;
}


/* v1.0.166 – Výplaty: malé štítky v přesném sloupci před částkou */
.payroll-day-row-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 74px 6.2rem;
    align-items: center;
    gap: 8px;
}
.payroll-day-date {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
.payroll-day-status-badge,
.payroll-day-status-placeholder {
    justify-self: stretch;
    width: 74px;
    min-width: 74px;
    max-width: 74px;
    min-height: 22px;
}
.payroll-day-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .28rem .34rem;
    font-size: .70rem;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}
.payroll-day-row-main .payroll-day-count {
    width: 6.2rem !important;
    min-width: 6.2rem !important;
    max-width: 6.2rem !important;
}
@media (max-width: 420px) {
    .payroll-day-row-main {
        grid-template-columns: minmax(0, 1fr) 68px 5.6rem;
        gap: 6px;
    }
    .payroll-day-status-badge,
    .payroll-day-status-placeholder {
        width: 68px;
        min-width: 68px;
        max-width: 68px;
    }
    .payroll-day-row-main .payroll-day-count {
        width: 5.6rem !important;
        min-width: 5.6rem !important;
        max-width: 5.6rem !important;
    }
}


/* v1.0.167 – Dashboard: dlaždice Zálohy a náhrady */
.dashboard-advances-tile {
    color: inherit;
}
.dashboard-advances-tile:hover {
    color: inherit;
}


/* v1.0.170 – Zálohy a náhrady propojené s Výplatami */
.advances-record-row {
    display: grid;
    grid-template-columns: minmax(180px, 1.2fr) 92px 92px minmax(0, 1fr) 132px;
    align-items: center;
    gap: 12px;
}
.advances-record-employee { font-weight: 700; }
.advances-record-date,
.advances-record-amount { white-space: nowrap; }
.advances-record-amount { text-align: right; }
.advances-record-note {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #6c757d;
}
@media (max-width: 767px) {
    .advances-record-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 7px 10px;
    }
    .advances-record-employee { grid-column: 1 / 2; }
    .advances-record-date { grid-column: 2 / 3; grid-row: 1; }
    .advances-record-row .badge { grid-column: 1 / 2; }
    .advances-record-amount { grid-column: 2 / 3; grid-row: 2; }
    .advances-record-note { grid-column: 1 / 3; white-space: normal; }
}


/* v1.0.174 – Zálohy a náhrady: filtr výpisu v hlavičce */
.advances-listing-filter {
    margin-left: auto;
}
.advances-listing-filter select {
    width: 132px;
}
.advances-listing-filter input {
    width: 92px;
}
@media (max-width: 767px) {
    .advances-listing-filter {
        order: 3;
        width: 100%;
        margin-left: 0;
    }
    .advances-listing-filter select {
        flex: 1 1 130px;
    }
}


/* v1.0.175 – Zálohy a náhrady: přehledný formulář a součet výpisu */
.advances-entry-form {
    display: grid;
    gap: 18px;
}
.advances-entry-section {
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, .09);
    border-radius: 14px;
    background: rgba(248, 250, 252, .62);
}
.advances-entry-section-title {
    margin-bottom: 12px;
    font-weight: 700;
    color: #334155;
}
.advances-record-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    background: rgba(13, 110, 253, .08);
    font-size: 1.05rem;
}
.advances-record-total strong {
    white-space: nowrap;
}
html.dark-mode .advances-entry-section,
body.dark-mode .advances-entry-section {
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.12);
}
html.dark-mode .advances-record-total,
body.dark-mode .advances-record-total {
    background: rgba(13, 110, 253, .18);
}


/* v1.0.177 – Zálohy a náhrady: Celkem ve stylu Výplat */
.advances-record-total {
    border-top: 2px solid rgba(15,23,42,.14);
    background: rgba(13,110,253,.06);
    font-size: inherit;
    font-weight: 800;
}
.advances-record-total span,
.advances-record-total strong {
    font-weight: 800;
}
html.dark-mode .advances-record-total,
body.dark-mode .advances-record-total {
    border-top-color: rgba(255,255,255,.18);
    background: rgba(13,110,253,.18);
}


/* v1.0.179 – Zálohy a náhrady: přehledný formulář na mobilu */
@media (max-width: 767px) {
    .advances-entry-form {
        gap: 14px;
    }
    .advances-entry-section {
        padding: 14px 12px;
        border-radius: 12px;
    }
    .advances-entry-section-title {
        margin-bottom: 10px;
        font-size: .95rem;
    }
    .advances-entry-payroll-grid,
    .advances-entry-record-grid {
        row-gap: 12px !important;
    }
    .advances-entry-payroll-grid > div,
    .advances-entry-record-grid > div {
        width: 100%;
    }
    .advances-entry-payroll-grid > div:nth-child(2),
    .advances-entry-payroll-grid > div:nth-child(3),
    .advances-entry-record-grid > div:nth-child(1),
    .advances-entry-record-grid > div:nth-child(2),
    .advances-entry-record-grid > div:nth-child(3) {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .advances-entry-record-grid > div:nth-child(4),
    .advances-entry-record-grid > div:nth-child(5) {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .advances-entry-record-grid > div:last-child .btn {
        width: 100%;
        min-height: 46px;
        margin: 0;
    }
    .advances-entry-form .form-label {
        margin-bottom: 5px;
        font-size: .88rem;
    }
}
@media (max-width: 420px) {
    .advances-entry-payroll-grid > div:nth-child(2),
    .advances-entry-payroll-grid > div:nth-child(3),
    .advances-entry-record-grid > div:nth-child(1),
    .advances-entry-record-grid > div:nth-child(2),
    .advances-entry-record-grid > div:nth-child(3) {
        flex: 0 0 100%;
        max-width: 100%;
    }
}


/* v1.0.182 – PWA ikona a odstranění nápovědy */
.pwa-standalone .pwa-install-help {
    display: none !important;
}


/* v1.0.185 – Dashboard: vylepšená dlaždice Zálohy a náhrady */
.dashboard-advances-tile-enhanced {
    position: relative;
    overflow: hidden;
    min-height: 164px;
    padding: 20px 22px !important;
    border: 1px solid rgba(13, 110, 253, .20);
    background:
        radial-gradient(circle at 100% 0, rgba(13, 110, 253, .16), transparent 46%),
        linear-gradient(145deg, rgba(255,255,255,.98), rgba(240,247,255,.96));
}
.dashboard-advances-tile-enhanced::after {
    content: "";
    position: absolute;
    width: 130px;
    height: 130px;
    right: -62px;
    bottom: -68px;
    border-radius: 50%;
    background: rgba(13, 110, 253, .08);
    pointer-events: none;
}
.dashboard-advances-tile-top {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 14px;
    color: #0d6efd;
}
.dashboard-advances-tile-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 11px;
    background: rgba(13, 110, 253, .12);
    font-size: 1.05rem;
}
.dashboard-advances-tile-label {
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.dashboard-advances-tile-enhanced > strong {
    position: relative;
    z-index: 1;
    display: block;
    margin: 0;
    font-size: 1.23rem;
    font-weight: 800;
    line-height: 1.2;
    color: #17324d;
}
.dashboard-advances-tile-action {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 17px;
    font-size: .92rem;
    font-weight: 700;
    color: #0d6efd;
}
.dashboard-advances-tile-enhanced:hover .dashboard-advances-tile-action i {
    transform: translateX(3px);
}
.dashboard-advances-tile-action i {
    transition: transform .18s ease;
}
html.dark-mode .dashboard-advances-tile-enhanced,
body.dark-mode .dashboard-advances-tile-enhanced {
    border-color: rgba(96, 165, 250, .28);
    background:
        radial-gradient(circle at 100% 0, rgba(59, 130, 246, .23), transparent 46%),
        linear-gradient(145deg, rgba(30, 41, 59, .98), rgba(15, 23, 42, .98));
}
html.dark-mode .dashboard-advances-tile-enhanced > strong,
body.dark-mode .dashboard-advances-tile-enhanced > strong {
    color: #e6edf8;
}
html.dark-mode .dashboard-advances-tile-top,
html.dark-mode .dashboard-advances-tile-action,
body.dark-mode .dashboard-advances-tile-top,
body.dark-mode .dashboard-advances-tile-action {
    color: #93c5fd;
}
html.dark-mode .dashboard-advances-tile-icon,
body.dark-mode .dashboard-advances-tile-icon {
    background: rgba(96, 165, 250, .16);
}
@media (max-width: 767px) {
    .dashboard-advances-tile-enhanced {
        min-height: 142px;
        padding: 18px !important;
    }
}


/* v1.0.186 – Dashboard: kompaktní ikonová dlaždice Zálohy a náhrady */
.dashboard-advances-tile-column {
    display: flex;
    align-items: stretch;
}
.dashboard-advances-icon-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: min(100%, 190px);
    min-height: 148px;
    padding: 18px 16px;
    border: 1px solid rgba(13, 110, 253, .20);
    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 0, rgba(13, 110, 253, .14), transparent 60%),
        linear-gradient(145deg, rgba(255,255,255,.98), rgba(242,248,255,.98));
    color: #17324d;
    text-align: center;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.dashboard-advances-icon-tile:hover {
    transform: translateY(-2px);
    border-color: rgba(13, 110, 253, .42);
    box-shadow: 0 14px 28px rgba(13, 110, 253, .14);
    color: #17324d;
}
.dashboard-advances-icon-tile-symbol {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: linear-gradient(145deg, #0d6efd, #0a58ca);
    color: #fff;
    font-size: 1.75rem;
    box-shadow: 0 8px 16px rgba(13, 110, 253, .22);
}
.dashboard-advances-icon-tile-text {
    max-width: 145px;
    font-size: .95rem;
    font-weight: 800;
    line-height: 1.25;
}
html.dark-mode .dashboard-advances-icon-tile,
body.dark-mode .dashboard-advances-icon-tile {
    border-color: rgba(96, 165, 250, .28);
    background:
        radial-gradient(circle at 50% 0, rgba(59, 130, 246, .22), transparent 60%),
        linear-gradient(145deg, rgba(30, 41, 59, .98), rgba(15, 23, 42, .98));
    color: #e6edf8;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .20);
}
html.dark-mode .dashboard-advances-icon-tile:hover,
body.dark-mode .dashboard-advances-icon-tile:hover {
    color: #fff;
    border-color: rgba(147, 197, 253, .56);
}
@media (max-width: 767px) {
    .dashboard-advances-icon-tile {
        width: 100%;
        min-height: 126px;
        flex-direction: row;
        justify-content: flex-start;
        padding: 16px 18px;
        text-align: left;
    }
    .dashboard-advances-icon-tile-text {
        max-width: none;
        font-size: 1rem;
    }
}


/* v1.0.187 – Dashboard: kompaktní ikonová dlaždice Foto do PDF */
.dashboard-tools-tile-column {
    display: flex;
    align-items: stretch;
}
.dashboard-tools-icon-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: min(100%, 190px);
    min-height: 148px;
    padding: 18px 16px;
    border: 1px solid rgba(13, 110, 253, .20);
    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 0, rgba(13, 110, 253, .14), transparent 60%),
        linear-gradient(145deg, rgba(255,255,255,.98), rgba(242,248,255,.98));
    color: #17324d;
    text-align: center;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.dashboard-tools-icon-tile:hover {
    transform: translateY(-2px);
    border-color: rgba(13, 110, 253, .42);
    box-shadow: 0 14px 28px rgba(13, 110, 253, .14);
    color: #17324d;
}
.dashboard-tools-icon-tile-symbol {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: linear-gradient(145deg, #0d6efd, #0a58ca);
    color: #fff;
    font-size: 1.75rem;
    box-shadow: 0 8px 16px rgba(13, 110, 253, .22);
}
.dashboard-tools-icon-tile-text {
    max-width: 145px;
    font-size: .95rem;
    font-weight: 800;
    line-height: 1.25;
}
html.dark-mode .dashboard-tools-icon-tile,
body.dark-mode .dashboard-tools-icon-tile {
    border-color: rgba(96, 165, 250, .28);
    background:
        radial-gradient(circle at 50% 0, rgba(59, 130, 246, .22), transparent 60%),
        linear-gradient(145deg, rgba(30, 41, 59, .98), rgba(15, 23, 42, .98));
    color: #e6edf8;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .20);
}
html.dark-mode .dashboard-tools-icon-tile:hover,
body.dark-mode .dashboard-tools-icon-tile:hover {
    color: #fff;
    border-color: rgba(147, 197, 253, .56);
}
@media (max-width: 767px) {
    .dashboard-tools-icon-tile {
        width: 100%;
        min-height: 126px;
        flex-direction: row;
        justify-content: flex-start;
        padding: 16px 18px;
        text-align: left;
    }
    .dashboard-tools-icon-tile-text {
        max-width: none;
        font-size: 1rem;
    }
}


/* v1.0.188 – Dashboard: jednotné kompaktní dlaždice */
.dashboard-tiles-grid {
    --bs-gutter-x: .55rem;
    --bs-gutter-y: .55rem;
}
.dashboard-metric-tile {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 108px;
    height: 100%;
    padding: 14px 15px;
    border: 1px solid rgba(15, 23, 42, .09);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
    color: #17324d;
    box-shadow: 0 3px 12px rgba(15, 23, 42, .045);
}
.dashboard-metric-link {
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.dashboard-metric-link:hover {
    transform: translateY(-2px);
    border-color: rgba(13, 110, 253, .38);
    box-shadow: 0 8px 18px rgba(13, 110, 253, .12);
    color: #17324d;
}
.dashboard-metric-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin-bottom: 10px;
    border-radius: 9px;
    background: rgba(13, 110, 253, .10);
    color: #0d6efd;
    font-size: 1rem;
}
.dashboard-metric-label {
    display: block;
    min-height: 32px;
    color: #64748b;
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.18;
}
.dashboard-metric-tile > strong {
    display: block;
    margin-top: 5px;
    color: #17324d;
    font-size: 1.04rem;
    font-weight: 800;
    line-height: 1.18;
    overflow-wrap: anywhere;
}
html.dark-mode .dashboard-metric-tile,
body.dark-mode .dashboard-metric-tile {
    border-color: rgba(148, 163, 184, .16);
    background: linear-gradient(145deg, rgba(30,41,59,.98), rgba(15,23,42,.98));
    color: #e6edf8;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .18);
}
html.dark-mode .dashboard-metric-tile > strong,
body.dark-mode .dashboard-metric-tile > strong {
    color: #f8fafc;
}
html.dark-mode .dashboard-metric-label,
body.dark-mode .dashboard-metric-label {
    color: #aebed3;
}
html.dark-mode .dashboard-metric-icon,
body.dark-mode .dashboard-metric-icon {
    background: rgba(96, 165, 250, .16);
    color: #93c5fd;
}
html.dark-mode .dashboard-metric-link:hover,
body.dark-mode .dashboard-metric-link:hover {
    color: #fff;
    border-color: rgba(147, 197, 253, .48);
}
@media (max-width: 767px) {
    .dashboard-tiles-grid {
        --bs-gutter-x: .5rem;
        --bs-gutter-y: .5rem;
    }
    .dashboard-metric-tile {
        min-height: 102px;
        padding: 12px;
        border-radius: 12px;
    }
    .dashboard-metric-icon {
        width: 28px;
        height: 28px;
        margin-bottom: 8px;
        font-size: .92rem;
    }
    .dashboard-metric-label {
        min-height: 30px;
        font-size: .72rem;
    }
    .dashboard-metric-tile > strong {
        font-size: .94rem;
    }
}


/* v1.0.189 – Dashboard: vycentrované zvýrazněné dlaždice Foto do PDF a Zálohy */
.dashboard-feature-tile {
    align-items: center;
    text-align: center;
    padding: 13px 12px;
    background:
        radial-gradient(circle at 50% 0, rgba(13, 110, 253, .14), transparent 62%),
        linear-gradient(145deg, rgba(255,255,255,.98), rgba(242,248,255,.98));
    border-color: rgba(13, 110, 253, .20);
}
.dashboard-feature-tile-symbol {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 9px;
    border-radius: 16px;
    background: linear-gradient(145deg, #0d6efd, #0a58ca);
    color: #fff;
    font-size: 1.58rem;
    box-shadow: 0 7px 15px rgba(13, 110, 253, .23);
}
.dashboard-feature-tile-text {
    display: block;
    max-width: 132px;
    min-height: 0;
    color: #17324d;
    font-size: .84rem;
    font-weight: 800;
    line-height: 1.18;
}
html.dark-mode .dashboard-feature-tile,
body.dark-mode .dashboard-feature-tile {
    background:
        radial-gradient(circle at 50% 0, rgba(59, 130, 246, .22), transparent 62%),
        linear-gradient(145deg, rgba(30,41,59,.98), rgba(15,23,42,.98));
    border-color: rgba(96, 165, 250, .30);
}
html.dark-mode .dashboard-feature-tile-text,
body.dark-mode .dashboard-feature-tile-text {
    color: #f8fafc;
}
@media (max-width: 767px) {
    .dashboard-feature-tile {
        align-items: center;
        text-align: center;
    }
    .dashboard-feature-tile-symbol {
        width: 48px;
        height: 48px;
        margin-bottom: 7px;
        border-radius: 15px;
        font-size: 1.42rem;
    }
    .dashboard-feature-tile-text {
        font-size: .78rem;
    }
}


/* v1.0.192 – Souhrnný přehled měsíce Výplat */
.payroll-month-summary-cards {
    --bs-gutter-x: .55rem;
    --bs-gutter-y: .55rem;
}
.payroll-month-summary-card {
    min-height: 88px;
    padding: 13px 14px;
    border: 1px solid rgba(15,23,42,.09);
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
}
.payroll-month-summary-card span {
    display: block;
    color: #64748b;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.15;
}
.payroll-month-summary-card strong {
    display: block;
    margin-top: 7px;
    color: #17324d;
    font-size: 1.02rem;
    font-weight: 800;
    line-height: 1.15;
}
.payroll-month-summary-grand-total {
    color: #0d6efd;
}
.payroll-month-summary-table tfoot th {
    border-top: 2px solid rgba(15,23,42,.14);
    background: rgba(13,110,253,.06);
    font-weight: 800;
}
html.dark-mode .payroll-month-summary-card,
body.dark-mode .payroll-month-summary-card {
    border-color: rgba(148,163,184,.16);
    background: linear-gradient(145deg, rgba(30,41,59,.98), rgba(15,23,42,.98));
}
html.dark-mode .payroll-month-summary-card span,
body.dark-mode .payroll-month-summary-card span {
    color: #aebed3;
}
html.dark-mode .payroll-month-summary-card strong,
body.dark-mode .payroll-month-summary-card strong {
    color: #f8fafc;
}
html.dark-mode .payroll-month-summary-table tfoot th,
body.dark-mode .payroll-month-summary-table tfoot th {
    border-top-color: rgba(255,255,255,.18);
    background: rgba(13,110,253,.18);
}
@media (max-width: 767px) {
    .payroll-month-summary-card {
        min-height: 80px;
        padding: 11px 12px;
    }
    .payroll-month-summary-card strong {
        font-size: .94rem;
    }
}


/* v1.0.215 – Souhrn výplat: střídavé klikatelné řádky a odpočty */
.payroll-month-summary-card--deduction strong {
    color: #b42318;
}
.payroll-month-summary-row {
    cursor: pointer;
    transition: background-color .15s ease, box-shadow .15s ease;
}
.payroll-month-summary-table tbody .payroll-month-summary-row:nth-child(even) > td {
    background: rgba(15, 23, 42, .032);
}
.payroll-month-summary-table tbody .payroll-month-summary-row:hover > td {
    background: rgba(13, 110, 253, .065);
}
.payroll-month-summary-row:focus {
    outline: none;
}
.payroll-month-summary-table tbody .payroll-month-summary-row:focus > td {
    background: rgba(13, 110, 253, .11);
    box-shadow: inset 0 2px 0 #0d6efd, inset 0 -2px 0 #0d6efd;
}
html.dark-mode .payroll-month-summary-card--deduction strong,
body.dark-mode .payroll-month-summary-card--deduction strong {
    color: #fda4af;
}
html.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:nth-child(even) > td,
body.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:nth-child(even) > td {
    background: rgba(148, 163, 184, .075);
}
html.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:hover > td,
body.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:hover > td {
    background: rgba(96, 165, 250, .12);
}
html.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:focus > td,
body.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:focus > td {
    background: rgba(96, 165, 250, .18);
    box-shadow: inset 0 2px 0 #93c5fd, inset 0 -2px 0 #93c5fd;
}


/* v1.0.216 – Měsíční souhrn Výplat: mobilní bloky bez vodorovného posuvu */
@media (max-width: 767px) {
    .payroll-month-summary-table-wrap {
        overflow: visible;
    }
    .payroll-month-summary-table {
        display: block;
        width: 100%;
    }
    .payroll-month-summary-table thead {
        display: none;
    }
    .payroll-month-summary-table tbody,
    .payroll-month-summary-table tfoot {
        display: grid;
        gap: 10px;
    }
    .payroll-month-summary-table tbody {
        margin-bottom: 10px;
    }
    .payroll-month-summary-table tbody .payroll-month-summary-row,
    .payroll-month-summary-table tfoot tr {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 12px;
        width: 100%;
        padding: 11px 12px;
        border: 1px solid rgba(15,23,42,.10);
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 2px 10px rgba(15,23,42,.035);
    }
    .payroll-month-summary-table tbody .payroll-month-summary-row > td,
    .payroll-month-summary-table tfoot tr > th {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        min-width: 0;
        padding: 7px 0;
        border: 0;
        background: transparent !important;
        text-align: right !important;
        font-size: .88rem;
        line-height: 1.25;
    }
    .payroll-month-summary-table tbody .payroll-month-summary-row > td::before,
    .payroll-month-summary-table tfoot tr > th::before {
        content: attr(data-label);
        flex: 1 1 auto;
        min-width: 0;
        padding-right: 10px;
        color: #64748b;
        font-size: .73rem;
        font-weight: 700;
        text-align: left;
    }
    .payroll-month-summary-table tbody .payroll-month-summary-row > td:first-child,
    .payroll-month-summary-table tfoot tr > th:first-child {
        grid-column: 1 / -1;
        display: block;
        padding: 0 0 9px;
        margin-bottom: 3px;
        border-bottom: 1px solid rgba(15,23,42,.09);
        text-align: left !important;
    }
    .payroll-month-summary-table tbody .payroll-month-summary-row > td:first-child::before,
    .payroll-month-summary-table tfoot tr > th:first-child::before {
        display: none;
    }
    .payroll-month-summary-table tbody .payroll-month-summary-row > td:last-child,
    .payroll-month-summary-table tfoot tr > th:last-child {
        grid-column: 1 / -1;
        margin-top: 4px;
        padding: 9px 10px;
        border-radius: 8px;
        background: rgba(13,110,253,.075) !important;
        font-size: .96rem;
    }
    .payroll-month-summary-table tbody .payroll-month-summary-row > td:last-child::before,
    .payroll-month-summary-table tfoot tr > th:last-child::before {
        color: #17324d;
        font-size: .78rem;
    }
    .payroll-month-summary-table tbody .payroll-month-summary-row:nth-child(even) > td {
        background: transparent !important;
    }
    .payroll-month-summary-table tbody .payroll-month-summary-row:hover > td,
    .payroll-month-summary-table tbody .payroll-month-summary-row:focus > td {
        background: transparent !important;
        box-shadow: none;
    }
    .payroll-month-summary-table tbody .payroll-month-summary-row:hover,
    .payroll-month-summary-table tbody .payroll-month-summary-row:focus {
        border-color: rgba(13,110,253,.45);
        background: rgba(13,110,253,.04);
        box-shadow: 0 0 0 2px rgba(13,110,253,.10);
    }
    .payroll-month-summary-table tfoot tr {
        border-color: rgba(13,110,253,.28);
        background: rgba(13,110,253,.035);
    }
    html.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row,
    body.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row {
        border-color: rgba(148,163,184,.18);
        background: rgba(15,23,42,.82);
        box-shadow: none;
    }
    html.dark-mode .payroll-month-summary-table tfoot tr,
    body.dark-mode .payroll-month-summary-table tfoot tr {
        border-color: rgba(96,165,250,.30);
        background: rgba(30,58,138,.20);
    }
    html.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row > td::before,
    html.dark-mode .payroll-month-summary-table tfoot tr > th::before,
    body.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row > td::before,
    body.dark-mode .payroll-month-summary-table tfoot tr > th::before {
        color: #aebed3;
    }
    html.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row > td:first-child,
    html.dark-mode .payroll-month-summary-table tfoot tr > th:first-child,
    body.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row > td:first-child,
    body.dark-mode .payroll-month-summary-table tfoot tr > th:first-child {
        border-bottom-color: rgba(148,163,184,.17);
    }
    html.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row > td:last-child,
    html.dark-mode .payroll-month-summary-table tfoot tr > th:last-child,
    body.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row > td:last-child,
    body.dark-mode .payroll-month-summary-table tfoot tr > th:last-child {
        background: rgba(59,130,246,.18) !important;
    }
    html.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row > td:last-child::before,
    html.dark-mode .payroll-month-summary-table tfoot tr > th:last-child::before,
    body.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row > td:last-child::before,
    body.dark-mode .payroll-month-summary-table tfoot tr > th:last-child::before {
        color: #dbeafe;
    }
    html.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:hover,
    html.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:focus,
    body.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:hover,
    body.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:focus {
        border-color: rgba(96,165,250,.55);
        background: rgba(30,58,138,.25);
        box-shadow: 0 0 0 2px rgba(96,165,250,.13);
    }
}


/* v1.0.217 – Souhrn Výplat: záporné částky a trvalé zvýraznění zůstatku na mobilu */
.payroll-month-summary-negative {
    color: #b42318 !important;
}
html.dark-mode .payroll-month-summary-negative,
body.dark-mode .payroll-month-summary-negative {
    color: #fda4af !important;
}
@media (max-width: 767px) {
    .payroll-month-summary-table tbody .payroll-month-summary-row > td:last-child,
    .payroll-month-summary-table tbody .payroll-month-summary-row:nth-child(even) > td:last-child,
    .payroll-month-summary-table tbody .payroll-month-summary-row:hover > td:last-child,
    .payroll-month-summary-table tbody .payroll-month-summary-row:focus > td:last-child,
    .payroll-month-summary-table tfoot tr > th:last-child {
        background: rgba(13,110,253,.075) !important;
    }
    html.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row > td:last-child,
    html.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:nth-child(even) > td:last-child,
    html.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:hover > td:last-child,
    html.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:focus > td:last-child,
    html.dark-mode .payroll-month-summary-table tfoot tr > th:last-child,
    body.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row > td:last-child,
    body.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:nth-child(even) > td:last-child,
    body.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:hover > td:last-child,
    body.dark-mode .payroll-month-summary-table tbody .payroll-month-summary-row:focus > td:last-child,
    body.dark-mode .payroll-month-summary-table tfoot tr > th:last-child {
        background: rgba(59,130,246,.18) !important;
    }
}


/* v1.0.218 – Souhrn Výplat: tučné hodnoty Základu a Exekuce */
.payroll-month-summary-emphasis {
    font-weight: 800;
}


/* v1.0.219 – Ceny tankování bez DPH */
.fuel-net-price-tooltip {
    display: inline-block;
    cursor: help;
    border-bottom: 1px dotted currentColor;
    text-decoration: none;
}


/* v1.0.224 – Spotřeba vozidla: srovnání vertikálního zarovnání dlaždic */
.fuel-vehicle-summary-cards > .fuel-vehicle-summary-col {
    display: flex;
}
.fuel-vehicle-summary-card {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 112px;
    width: 100%;
}
.fuel-vehicle-summary-card > strong {
    min-height: 2.35em;
    margin-top: 7px;
    line-height: 1.18;
    overflow-wrap: anywhere;
}
.fuel-vehicle-summary-card > small {
    display: block;
    min-height: 2.3em;
    margin-top: auto;
    color: #6c757d;
    font-size: .76rem;
    line-height: 1.18;
    overflow-wrap: anywhere;
}
html.dark-mode .fuel-vehicle-summary-card > small,
body.dark-mode .fuel-vehicle-summary-card > small {
    color: #aebed3;
}
@media (max-width: 767px) {
    .fuel-vehicle-summary-card {
        min-height: 96px;
    }
    .fuel-vehicle-summary-card > strong {
        min-height: 2.25em;
    }
}


/* v1.0.225 – Spotřeba vozidla: Od/Do uvnitř datumových polí */
.fuel-period-input {
    position: relative;
}
.fuel-period-input-label {
    position: absolute;
    top: 50%;
    left: 12px;
    z-index: 2;
    transform: translateY(-50%);
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
    pointer-events: none;
}
.fuel-period-input .form-control {
    padding-left: 43px;
}
html.dark-mode .fuel-period-input-label,
body.dark-mode .fuel-period-input-label {
    color: #aebed3;
}


/* v1.0.226 – Spotřeba vozidla: sjednocení pravého zarovnání celé stránky */
.fuel-vehicle-page,
.fuel-vehicle-page-section {
    margin-left: 0;
    margin-right: 0;
}
.fuel-vehicle-page-header {
    width: 100%;
}
.fuel-vehicle-page-actions {
    margin-left: auto;
    justify-content: flex-end;
}
.fuel-vehicle-summary-cards {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}
.fuel-vehicle-summary-cards > .fuel-vehicle-summary-col {
    min-width: 0;
}
.fuel-vehicle-period-card,
.fuel-vehicle-period-row {
    width: 100%;
}
.fuel-vehicle-period-row > [class*="col-"] {
    display: flex;
}
.fuel-vehicle-period-row > [class*="col-"] > * {
    width: 100%;
}
.fuel-vehicle-table-header {
    width: 100%;
}
.fuel-vehicle-table-limit-form {
    margin-left: auto;
    justify-content: flex-end;
}
@media (max-width: 767px) {
    .fuel-vehicle-page-actions {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
    }
    .fuel-vehicle-table-limit-form {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
    }
}

/* v1.0.227 – Analýza zisku */
.profit-analysis-table tfoot th { border-top:2px solid rgba(15,23,42,.14); background:rgba(13,110,253,.06); font-weight:800; }
html.dark-mode .profit-analysis-table tfoot th, body.dark-mode .profit-analysis-table tfoot th { border-top-color:rgba(255,255,255,.18); background:rgba(13,110,253,.18); }


/* v1.0.229 – Analýza zisku: období ve stylu Spotřeby a pravé zarovnání */
.profit-analysis-page-header {
    width: 100%;
}
.profit-analysis-page-header > .btn {
    margin-left: auto;
}
.profit-analysis-period-card,
.profit-analysis-period-row,
.profit-analysis-summary-cards,
.profit-analysis-result-card,
.profit-analysis-detail-grid {
    width: 100%;
}
.profit-analysis-period-row > [class*="col-"] {
    display: flex;
}
.profit-analysis-period-row > [class*="col-"] > * {
    width: 100%;
}
.profit-analysis-summary-cards > [class*="col-"] {
    display: flex;
}
.profit-analysis-summary-cards .payroll-month-summary-card {
    width: 100%;
}
.profit-analysis-result-header > .text-muted {
    margin-left: auto;
    text-align: right;
}
@media (max-width: 767px) {
    .profit-analysis-page-header > .btn,
    .profit-analysis-result-header > .text-muted {
        margin-left: 0;
        text-align: left;
    }
}


/* v1.0.232 – Analýza zisku: klikací řádky vozidel */
.profit-analysis-table .profit-analysis-row {
    cursor: pointer;
    transition: background-color .15s ease, box-shadow .15s ease;
}
.profit-analysis-table .profit-analysis-row:hover > td {
    background: rgba(13,110,253,.065);
}
.profit-analysis-table .profit-analysis-row:focus {
    outline: none;
}
.profit-analysis-table .profit-analysis-row:focus > td {
    background: rgba(13,110,253,.11);
    box-shadow: inset 0 2px 0 #0d6efd, inset 0 -2px 0 #0d6efd;
}
html.dark-mode .profit-analysis-table .profit-analysis-row:hover > td,
body.dark-mode .profit-analysis-table .profit-analysis-row:hover > td {
    background: rgba(96,165,250,.12);
}
html.dark-mode .profit-analysis-table .profit-analysis-row:focus > td,
body.dark-mode .profit-analysis-table .profit-analysis-row:focus > td {
    background: rgba(96,165,250,.18);
    box-shadow: inset 0 2px 0 #93c5fd, inset 0 -2px 0 #93c5fd;
}


/* v1.0.234 – Detail analýzy vozidla: pravé zarovnání a denní součty */
.profit-vehicle-page-header,
.profit-vehicle-period-card,
.profit-vehicle-summary-cards,
.profit-vehicle-detail-grid {
    width: 100%;
}
.profit-vehicle-page-header > .btn {
    margin-left: auto;
}
.profit-vehicle-detail-grid > [class*="col-"] {
    display: flex;
}
.profit-vehicle-detail-grid > [class*="col-"] > .card {
    width: 100%;
}
@media (max-width: 767px) {
    .profit-vehicle-page-header > .btn {
        margin-left: 0;
    }
}


/* v1.0.235 – Detail analýzy a Měsíční náklady */
.profit-vehicle-page { width:100%; max-width:100%; }
.profit-vehicle-page .profit-analysis-period-card,
.profit-vehicle-page .profit-analysis-summary-cards,
.profit-vehicle-page .profit-vehicle-detail-grid {
    margin-left:0;
    margin-right:0;
    width:100%;
}
.profit-vehicle-page .profit-analysis-summary-cards,
.profit-vehicle-page .profit-vehicle-detail-grid {
    --bs-gutter-x:.75rem;
}
.monthly-costs-page,
.monthly-costs-period-card,
.monthly-costs-card { width:100%; }
.monthly-costs-header > .btn,
.monthly-costs-card-header > strong:last-child,
.monthly-costs-actions { margin-left:auto; }
.monthly-costs-period-row > [class*="col-"] { display:flex; }
.monthly-costs-period-row > [class*="col-"] > * { width:100%; }
.monthly-costs-row + .monthly-costs-row { margin-top:.5rem; padding-top:.75rem; border-top:1px solid rgba(15,23,42,.08); }
@media(max-width:767px){
  .monthly-costs-header > .btn,.monthly-costs-card-header > strong:last-child,.monthly-costs-actions { margin-left:0; }
}


/* v1.0.238 – Měsíční náklady: popisky uvnitř výběru období */
.monthly-costs-period-input {
    position: relative;
    width: 100%;
}
.monthly-costs-period-input-label {
    position: absolute;
    top: 50%;
    left: 12px;
    z-index: 2;
    transform: translateY(-50%);
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
    pointer-events: none;
}
.monthly-costs-period-input .form-control,
.monthly-costs-period-input .form-select {
    padding-left: 64px;
}
html.dark-mode .monthly-costs-period-input-label,
body.dark-mode .monthly-costs-period-input-label {
    color: #aebed3;
}


/* v1.0.239 – Měsíční náklady: kompaktní řádky */
.monthly-costs-row + .monthly-costs-row {
    margin-top: .25rem;
    padding-top: .3rem;
}
.monthly-costs-row--compact .form-control,
.monthly-costs-row--compact .input-group-text,
.monthly-costs-row--compact .btn {
    min-height: 34px;
    padding-top: .28rem;
    padding-bottom: .28rem;
}
.monthly-costs-row--compact .monthly-costs-remove {
    margin-bottom: 0;
}
@media (max-width: 767px) {
    .monthly-costs-row + .monthly-costs-row {
        margin-top: .45rem;
        padding-top: .45rem;
    }
}

/* v1.0.240 – Hromadná příjemka skladu */
.bulk-receipt-row + .bulk-receipt-row{margin-top:.35rem;padding-top:.35rem;border-top:1px solid rgba(15,23,42,.08)}
.bulk-receipt-row--compact .form-control,.bulk-receipt-row--compact .form-select,.bulk-receipt-row--compact .input-group-text,.bulk-receipt-row--compact .btn{min-height:34px;padding-top:.28rem;padding-bottom:.28rem}

/* v1.0.242 – Hromadná příjemka: našeptávač dílů jako v servisu */
.bulk-receipt-row .service-part-suggest-wrap { width:100%; }
.bulk-receipt-row .service-part-suggest-box { z-index:2200; }

/* v1.0.244 – HART import hromadné příjemky */
.bulk-receipt-row .bulk-unit{min-width:0}
.bulk-receipt-row .service-part-suggest-box{z-index:2300}


/* v1.0.246 – HART import: kapaliny a nové karty */
.bulk-receipt-row--liquid {
    background: rgba(220, 53, 69, .11);
    border: 1px solid rgba(220, 53, 69, .38);
    border-radius: 10px;
    padding: .45rem .35rem;
}
.bulk-receipt-row--liquid + .bulk-receipt-row {
    margin-top: .45rem;
}
.bulk-receipt-row--liquid .bulk-part-search,
.bulk-receipt-row--liquid .bulk-hart-code {
    border-color: rgba(220, 53, 69, .7);
}
.bulk-receipt-row--new-card .bulk-part-search {
    font-weight: 800;
}
html.dark-mode .bulk-receipt-row--liquid,
body.dark-mode .bulk-receipt-row--liquid {
    background: rgba(220, 53, 69, .18);
    border-color: rgba(255, 120, 130, .5);
}

/* v1.0.250 – pohyby skladu a příjemky */
.stock-table-card .card-header { border-bottom: 1px solid rgba(15,23,42,.08); }
.stock-table-card .card-footer { border-top: 1px solid rgba(15,23,42,.08); }
html.dark-mode .stock-table-card .card-header,
html.dark-mode .stock-table-card .card-footer,
body.dark-mode .stock-table-card .card-header,
body.dark-mode .stock-table-card .card-footer { border-color: rgba(148,163,184,.16); }

/* v1.0.251 – klikací příjemky ve skladu */
.stock-receipt-row-click { cursor: pointer; }
.stock-receipt-row-click:hover td { filter: brightness(.98); }


/* v1.0.254 – sklad: souhrnné dlaždice ve stylu Spotřeby vozidla */
.stock-summary-cards {
    width: auto;
}
.stock-summary-col {
    display: flex;
    min-width: 0;
}
.stock-summary-card {
    width: 100%;
    min-height: 108px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.stock-summary-card span,
.stock-summary-card small {
    min-width: 0;
    overflow-wrap: anywhere;
}
@media (max-width: 767px) {
    .stock-summary-card {
        min-height: 100px;
    }
}

/* v1.0.255 – sklad: zarovnání souhrnných dlaždic a objednávka HART */
.stock-summary-cards {
    align-items: stretch;
}
.stock-hart-order-card {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}
.stock-hart-order-card:hover,
.stock-hart-order-card:focus {
    color: inherit;
    transform: translateY(-1px);
}
.stock-hart-order-page {
    margin-left: 0;
    margin-right: 0;
}
.stock-hart-order-placeholder {
    border-radius: 18px;
}
.stock-hart-order-placeholder-icon {
    width: 46px;
    height: 46px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-size: 1.35rem;
    color: #0d6efd;
    background: rgba(13,110,253,.10);
}
html.dark-mode .stock-hart-order-placeholder-icon,
body.dark-mode .stock-hart-order-placeholder-icon {
    color: #93c5fd;
    background: rgba(147,197,253,.14);
}


/* v1.0.275 – Sklad: stejné odsazení jako ostatní stránky
   Řádky skladu zachovávají výchozí Bootstrap guttery stejně jako Výplaty.
   Předchozí nulové okraje posouvaly celý obsah proti společnému rozvržení. */
.stock-page-header {
    width: 100%;
}
.stock-page-actions {
    margin-left: auto;
    justify-content: flex-end;
}
.stock-summary-cards > .stock-summary-col {
    min-width: 0;
}
.stock-search-card,
.stock-table-card,
.stock-table-header {
    width: 100%;
}
.stock-table-limit-form {
    margin-left: auto;
    justify-content: flex-end;
}
@media (max-width: 767px) {
    .stock-page-actions {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
    }
    .stock-table-limit-form {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
    }
}

/* v1.0.258 – objednávka HART podle minima skladu */
.stock-hart-order-page {
    margin-left: 0;
    margin-right: 0;
}
.stock-hart-order-header {
    width: 100%;
}
.stock-hart-order-summary-card,
.stock-hart-order-table-card {
    width: 100%;
    border-radius: 18px;
}
.stock-hart-order-summary-icon {
    width: 46px;
    height: 46px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-size: 1.35rem;
    color: #0d6efd;
    background: rgba(13,110,253,.10);
}
.stock-hart-order-summary-note {
    margin-left: auto;
}
.stock-hart-order-table th {
    white-space: nowrap;
}
.stock-hart-order-qty-col {
    min-width: 132px;
}
.stock-hart-order-qty-input {
    width: 132px;
    min-width: 132px;
}
html.dark-mode .stock-hart-order-summary-icon,
body.dark-mode .stock-hart-order-summary-icon {
    color: #93c5fd;
    background: rgba(147,197,253,.14);
}
@media (max-width: 767px) {
    .stock-hart-order-summary-note {
        width: 100%;
        margin-left: 0;
    }
}


/* v1.0.263 – objednávka HART: souhrnné dlaždice */
.stock-hart-order-tiles {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}
.stock-hart-order-tile {
    border: 0;
    text-align: left;
    color: inherit;
}
.stock-hart-order-tile strong {
    display: block;
    font-size: 1.45rem;
    line-height: 1.2;
}
.stock-hart-order-build-button {
    cursor: pointer;
    background: var(--bs-card-bg, #fff);
}
.stock-hart-order-build-button:hover,
.stock-hart-order-build-button:focus-visible {
    transform: translateY(-1px);
    outline: 0;
}
.stock-hart-order-build-button strong {
    color: #0d6efd;
}
@media print {
    .site-header, .navbar, header, footer, .stock-hart-order-header a, .stock-hart-order-tiles, .btn { display: none !important; }
    .stock-hart-order-page { display: block !important; }
    .stock-hart-order-table-card { box-shadow: none !important; border: 0 !important; }
}


/* v1.0.264 – objednávka HART: dlaždice v šířce skladu a export CSV */
.stock-hart-order-tiles {
    width: auto;
    margin-left: calc(-.5 * var(--bs-gutter-x));
    margin-right: calc(-.5 * var(--bs-gutter-x));
}
.stock-hart-order-tile > strong {
    white-space: nowrap;
}


/* v1.0.265 – objednávka HART: dlaždice sjednocené se Spotřebou vozidla */
.stock-hart-order-tiles {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}
.stock-hart-order-tiles > .fuel-vehicle-summary-col {
    min-width: 0;
}
.stock-hart-order-tiles .stock-hart-order-tile {
    min-height: 112px;
}
.stock-hart-order-tiles .stock-hart-order-tile > strong {
    white-space: normal;
    font-size: inherit;
}
.stock-hart-order-tiles .stock-hart-order-tile > small {
    font-size: .76rem;
}
@media (max-width: 767px) {
    .stock-hart-order-tiles .stock-hart-order-tile {
        min-height: 96px;
    }
}


/* v1.0.266 – objednávka HART: cena objednávky v samostatných řádcích */
.stock-hart-order-tiles .stock-hart-order-tile #hart-order-total-without-vat,
.stock-hart-order-tiles .stock-hart-order-tile #hart-order-total-with-vat {
    white-space: nowrap;
}
.stock-hart-order-tiles .stock-hart-order-tile #hart-order-total-with-vat {
    display: block;
    margin-top: 3px;
}


/* v1.0.268 – objednávka HART: typografie dlaždic sjednocená se skladem */
.stock-hart-order-tiles .stock-hart-order-tile {
    font: inherit;
}
.stock-hart-order-tiles .stock-hart-order-tile > span {
    display: block;
    color: #64748b;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.15;
}
.stock-hart-order-tiles .stock-hart-order-tile > strong {
    display: block;
    margin-top: 7px;
    color: #17324d;
    font-size: 1.02rem;
    font-weight: 800;
    line-height: 1.15;
    min-height: 0;
}
.stock-hart-order-tiles .stock-hart-order-tile > small {
    display: block;
    min-height: 0;
    margin-top: 7px;
    color: #6c757d;
    font-size: .76rem;
    font-weight: 400;
    line-height: 1.18;
}
.stock-hart-order-tiles .stock-hart-order-tile > strong b,
.stock-hart-order-tiles .stock-hart-order-tile > small b {
    font: inherit;
}
.stock-hart-order-tiles .stock-hart-order-tile > strong em,
.stock-hart-order-tiles .stock-hart-order-tile > small em {
    margin-left: .22rem;
    font: inherit;
    font-style: normal;
    white-space: nowrap;
}
.stock-hart-order-tiles .stock-hart-order-build-button > strong {
    color: #17324d;
}
html.dark-mode .stock-hart-order-tiles .stock-hart-order-tile > span,
body.dark-mode .stock-hart-order-tiles .stock-hart-order-tile > span {
    color: #aebed3;
}
html.dark-mode .stock-hart-order-tiles .stock-hart-order-tile > strong,
body.dark-mode .stock-hart-order-tiles .stock-hart-order-tile > strong {
    color: #f8fafc;
}
html.dark-mode .stock-hart-order-tiles .stock-hart-order-tile > small,
body.dark-mode .stock-hart-order-tiles .stock-hart-order-tile > small {
    color: #aebed3;
}


/* v1.0.269 – objednávka HART: dlaždice používají shodný základ jako Spotřeba vozidla */
.stock-hart-order-tiles .stock-hart-order-tile {
    justify-content: flex-start;
}
.stock-hart-order-tiles .stock-hart-order-tile > strong {
    min-height: 0;
}
.stock-hart-order-tiles .stock-hart-order-tile > small {
    min-height: 0;
    margin-top: 7px;
}
.stock-hart-order-tiles .stock-hart-order-tile > strong b,
.stock-hart-order-tiles .stock-hart-order-tile > small b {
    display: inline;
    white-space: nowrap;
}
.stock-hart-order-tiles .stock-hart-order-tile > strong em,
.stock-hart-order-tiles .stock-hart-order-tile > small em {
    display: inline;
}

/* v1.0.270 – objednávka HART: finální sjednocení s dlaždicemi Spotřeby vozidla */
.stock-hart-order-tiles .stock-hart-order-tile {
    justify-content: initial;
}
.stock-hart-order-tiles .stock-hart-order-tile > strong {
    min-height: 2.35em;
    margin-top: 7px;
    line-height: 1.18;
    overflow-wrap: anywhere;
}
.stock-hart-order-tiles .stock-hart-order-tile > small {
    min-height: 2.3em;
    margin-top: auto;
    color: #6c757d;
    font-size: .76rem;
    line-height: 1.18;
    overflow-wrap: anywhere;
}
.stock-hart-order-tiles .stock-hart-order-tile > strong b,
.stock-hart-order-tiles .stock-hart-order-tile > strong em,
.stock-hart-order-tiles .stock-hart-order-tile > small b,
.stock-hart-order-tiles .stock-hart-order-tile > small em {
    white-space: nowrap;
}
@media (max-width: 767px) {
    .stock-hart-order-tiles .stock-hart-order-tile > strong {
        min-height: 2.25em;
    }
}

/* v1.0.271 – objednávka HART: označení DPH je vždy na stejném řádku jako částka */
.stock-hart-order-tiles .stock-hart-order-tile #hart-order-total-with-vat {
    display: inline !important;
    margin-top: 0 !important;
    white-space: nowrap;
}
.stock-hart-order-tiles .stock-hart-order-tile > small {
    white-space: nowrap;
}
.stock-hart-order-tiles .stock-hart-order-tile > small em {
    display: inline !important;
    margin-left: .22rem;
    white-space: nowrap;
}


/* v1.0.272 – objednávka HART: shodný základ dlaždic jako sklad */
.stock-hart-order-tiles {
    width: auto;
    margin-left: 0;
    margin-right: 0;
}
.stock-hart-order-build-button {
    appearance: none;
    text-align: left;
    color: inherit;
    cursor: pointer;
    font: inherit;
}
.stock-hart-order-build-button:hover,
.stock-hart-order-build-button:focus-visible {
    color: inherit;
    transform: translateY(-1px);
    outline: 0;
}
.stock-hart-order-tiles .stock-summary-card > strong b,
.stock-hart-order-tiles .stock-summary-card > small b {
    font: inherit;
    white-space: nowrap;
}
.stock-hart-order-tiles .stock-summary-card > strong,
.stock-hart-order-tiles .stock-summary-card > small {
    white-space: nowrap;
}


/* v1.0.277 – objednávka HART: řádky používají stejné Bootstrap guttery jako stránka Sklad.
   Neurčujeme jim vlastní záporné okraje, aby se obsah vpravo neodřezával. */
.stock-hart-order-header {
    width: 100%;
}


/* v1.0.279 – objednávka HART: zachování výchozích Bootstrap gutterů.
   Předchozí verze vynulovala záporné okraje .row, proto se celý obsah
   posunul doprava od levého okraje aplikace. Řádky zůstávají standardní,
   vodorovný posuv se omezuje pouze na samotný obal tabulky. */
.stock-hart-order-page {
    min-width: 0;
}
.stock-hart-order-page .table-responsive {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
}

/* v1.0.280 – objednávka HART: pás dlaždic používá přesně výchozí Bootstrap guttery jako sklad.
   Předchozí nulové okraje řádku nechávaly vpravo i vlevo vnitřní odsazení sloupců navíc. */
.stock-hart-order-page > .stock-hart-order-tiles {
    width: auto;
    margin-left: calc(-.5 * var(--bs-gutter-x));
    margin-right: calc(-.5 * var(--bs-gutter-x));
}


/* v1.0.343 – Přepravy: mobilní bloky podle souhrnu Výplat */
@media (max-width: 767px) {
    .transports-table-wrap {
        overflow: visible;
    }
    .transports-table {
        display: block;
        width: 100%;
    }
    .transports-table thead {
        display: none;
    }
    .transports-table tbody {
        display: grid;
        gap: 10px;
    }
    .transports-table tbody .transports-empty-row {
        display: block;
        width: 100%;
        padding: 12px;
    }
    .transports-table tbody .transports-empty-row > td {
        display: block;
        padding: 0;
        border: 0;
    }
    .transports-table tbody tr.transport-row-status-unloaded,
    .transports-table tbody tr.transport-row-status-loaded,
    .transports-table tbody tr.transport-row-status-delivered,
    .transports-table tbody tr.transport-row-status-cancelled {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 12px;
        width: 100%;
        padding: 11px 12px;
        border: 1px solid rgba(15,23,42,.10);
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 2px 10px rgba(15,23,42,.035);
    }
    .transports-table tbody tr.transport-row-status-unloaded > td,
    .transports-table tbody tr.transport-row-status-loaded > td,
    .transports-table tbody tr.transport-row-status-delivered > td,
    .transports-table tbody tr.transport-row-status-cancelled > td {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        min-width: 0 !important;
        padding: 7px 0;
        border: 0;
        background: transparent !important;
        text-align: right;
        font-size: .88rem;
        line-height: 1.25;
    }
    .transports-table tbody tr > td::before {
        content: attr(data-label);
        flex: 1 1 auto;
        min-width: 0;
        padding-right: 10px;
        color: #64748b;
        font-size: .73rem;
        font-weight: 700;
        text-align: left;
    }
    .transports-table tbody tr > td:first-child {
        grid-column: 1 / -1;
        display: block;
        padding: 0 0 9px;
        margin-bottom: 3px;
        border-bottom: 1px solid rgba(15,23,42,.09);
        text-align: left;
    }
    .transports-table tbody tr > td:first-child::before {
        display: none;
    }
    .transports-table tbody tr > td:first-child strong {
        font-size: 1rem;
    }
    .transports-table tbody tr > td:first-child {
        border-left: 0 !important;
    }
    .transports-table tbody tr > td:nth-child(2),
    .transports-table tbody tr > td:nth-child(3),
    .transports-table tbody tr > td:nth-child(4),
    .transports-table tbody tr > td:nth-child(7) {
        display: block;
        text-align: left;
    }
    .transports-table tbody tr > td:nth-child(2)::before,
    .transports-table tbody tr > td:nth-child(3)::before,
    .transports-table tbody tr > td:nth-child(4)::before,
    .transports-table tbody tr > td:nth-child(7)::before {
        display: block;
        padding: 0 0 3px;
    }
    .transports-table .transports-status-cell,
    .transports-table .transports-actions-cell {
        grid-column: 1 / -1;
        align-items: center;
    }
    .transports-table .transports-status-cell form {
        flex: 0 1 210px;
        min-width: 0;
    }
    .transports-table .transports-status-cell .d-flex {
        justify-content: flex-end;
    }
    .transports-table .transports-actions-cell {
        flex-wrap: wrap;
        gap: 7px;
        margin-top: 4px;
        padding: 9px 10px !important;
        border-radius: 8px;
        background: rgba(13,110,253,.075) !important;
    }
    .transports-table .transports-actions-cell::before {
        color: #17324d;
        font-size: .78rem;
    }
    .transports-table .transports-actions-cell .btn {
        white-space: nowrap;
    }
    html.dark-mode .transports-table tbody tr.transport-row-status-unloaded,
    html.dark-mode .transports-table tbody tr.transport-row-status-loaded,
    html.dark-mode .transports-table tbody tr.transport-row-status-delivered,
    html.dark-mode .transports-table tbody tr.transport-row-status-cancelled,
    body.dark-mode .transports-table tbody tr.transport-row-status-unloaded,
    body.dark-mode .transports-table tbody tr.transport-row-status-loaded,
    body.dark-mode .transports-table tbody tr.transport-row-status-delivered,
    body.dark-mode .transports-table tbody tr.transport-row-status-cancelled {
        border-color: rgba(148,163,184,.18);
        background: rgba(15,23,42,.82);
        box-shadow: none;
    }
    html.dark-mode .transports-table tbody tr > td::before,
    body.dark-mode .transports-table tbody tr > td::before {
        color: #aebed3;
    }
    html.dark-mode .transports-table tbody tr > td:first-child,
    body.dark-mode .transports-table tbody tr > td:first-child {
        border-bottom-color: rgba(148,163,184,.17);
    }
    html.dark-mode .transports-table .transports-actions-cell,
    body.dark-mode .transports-table .transports-actions-cell {
        background: rgba(59,130,246,.18) !important;
    }
    html.dark-mode .transports-table .transports-actions-cell::before,
    body.dark-mode .transports-table .transports-actions-cell::before {
        color: #dbeafe;
    }
}

/* v1.0.344 – Přepravy: čitelnější mobilní karty a sjednocené ikonové akce */
@media (max-width: 767px) {
    .transports-table tbody tr.transport-row-status-unloaded,
    .transports-table tbody tr.transport-row-status-loaded,
    .transports-table tbody tr.transport-row-status-delivered,
    .transports-table tbody tr.transport-row-status-cancelled {
        gap: 0 14px;
        padding: 13px 14px;
    }
    .transports-table tbody tr > td.transport-mobile-customer {
        grid-column: 1 / -1;
        padding-top: 4px;
        padding-bottom: 10px;
        border-bottom: 1px solid rgba(15,23,42,.08);
    }
    .transports-table tbody tr > td.transport-mobile-customer::before {
        display: block;
        padding-bottom: 3px;
    }
    .transports-table tbody tr > td.transport-mobile-customer > br + .text-muted {
        display: inline-block;
        margin-top: 3px;
    }
    .transports-table tbody tr > td.transport-mobile-loading,
    .transports-table tbody tr > td.transport-mobile-unloading {
        min-height: 72px;
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .transports-table tbody tr > td.transport-mobile-loading::before,
    .transports-table tbody tr > td.transport-mobile-unloading::before {
        font-size: .72rem;
        letter-spacing: .01em;
    }
    .transports-table tbody tr > td.transport-mobile-loading {
        border-right: 1px solid rgba(15,23,42,.08);
        padding-right: 12px;
    }
    .transports-table tbody tr > td.transport-mobile-unloading {
        padding-left: 2px;
    }
    .transports-table tbody tr > td.transport-mobile-price strong {
        color: #0f5132;
        font-size: .95rem;
    }
    .transports-table tbody tr > td.transport-mobile-vehicle,
    .transports-table tbody tr > td.transport-mobile-price {
        align-items: center;
        padding-top: 9px;
        border-top: 1px solid rgba(15,23,42,.07);
    }
    .transports-table tbody tr > td.transport-mobile-distance .text-muted {
        display: inline-block;
        margin-top: 3px;
    }
    .transports-table .transports-actions-cell {
        display: block !important;
        margin-top: 7px;
        padding: 8px 10px !important;
    }
    .transports-table .transports-actions-cell::before {
        display: block;
        padding: 0 0 7px;
    }
    .transports-table .transport-action-buttons {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        min-height: 38px;
    }
    .transports-table .transport-delete-form {
        display: flex;
        margin: 0;
    }
    .transports-table .transport-action-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        padding: 0;
        line-height: 1;
        border-radius: 9px;
    }
    .transports-table .transport-action-btn i {
        font-size: 1rem;
        line-height: 1;
    }
    .transports-table .transport-action-label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    html.dark-mode .transports-table tbody tr > td.transport-mobile-customer,
    body.dark-mode .transports-table tbody tr > td.transport-mobile-customer,
    html.dark-mode .transports-table tbody tr > td.transport-mobile-loading,
    body.dark-mode .transports-table tbody tr > td.transport-mobile-loading,
    html.dark-mode .transports-table tbody tr > td.transport-mobile-vehicle,
    body.dark-mode .transports-table tbody tr > td.transport-mobile-vehicle,
    html.dark-mode .transports-table tbody tr > td.transport-mobile-price,
    body.dark-mode .transports-table tbody tr > td.transport-mobile-price {
        border-color: rgba(148,163,184,.16);
    }
    html.dark-mode .transports-table tbody tr > td.transport-mobile-price strong,
    body.dark-mode .transports-table tbody tr > td.transport-mobile-price strong {
        color: #86efac;
    }
}

/* v1.0.345 – Přepravy: mobilní hlavička karty se stavem vlevo a ikonovými akcemi vpravo */
@media (max-width: 767px) {
    /* Číslo přepravy se na mobilních kartách nezobrazuje. */
    .transports-table tbody tr > td.transport-mobile-number {
        display: none !important;
    }

    /* Stav a akce tvoří společnou hlavičku každé karty. */
    .transports-table .transports-status-cell {
        grid-column: 1 / 2;
        grid-row: 1;
        order: -2;
        display: flex !important;
        justify-content: flex-start;
        align-items: center;
        min-height: 44px;
        padding: 0 0 9px !important;
        margin: 0;
        border-bottom: 1px solid rgba(15,23,42,.09);
        background: transparent !important;
        text-align: left;
    }
    .transports-table .transports-status-cell::before {
        display: none !important;
    }
    .transports-table .transports-status-cell form {
        flex: 1 1 auto;
        max-width: 210px;
    }
    .transports-table .transports-status-cell .d-flex {
        justify-content: flex-start;
    }

    .transports-table .transports-actions-cell {
        grid-column: 2 / 3;
        grid-row: 1;
        order: -1;
        display: flex !important;
        justify-content: flex-end;
        align-items: center;
        min-height: 44px;
        padding: 0 0 9px !important;
        margin: 0;
        border: 0;
        border-bottom: 1px solid rgba(15,23,42,.09);
        border-radius: 0;
        background: transparent !important;
        text-align: right;
    }
    .transports-table .transports-actions-cell::before {
        display: none !important;
    }
    .transports-table .transport-action-buttons {
        justify-content: flex-end;
    }

    /* První obsahový blok začíná až pod mobilní hlavičkou. */
    .transports-table tbody tr > td.transport-mobile-customer {
        margin-top: 3px;
    }

    html.dark-mode .transports-table .transports-status-cell,
    body.dark-mode .transports-table .transports-status-cell,
    html.dark-mode .transports-table .transports-actions-cell,
    body.dark-mode .transports-table .transports-actions-cell {
        border-bottom-color: rgba(148,163,184,.17);
        background: transparent !important;
    }
}

/* v1.0.346 – Přepravy: pevné pořadí mobilní karty
   1. Nakládka / vykládka
   2. Palety a cena
   3. Vzdálenost a SPZ
   4. Zadavatel vlevo, stav a akce vpravo */
@media (max-width: 767px) {
    .transports-table tbody tr.transport-row-status-unloaded,
    .transports-table tbody tr.transport-row-status-loaded,
    .transports-table tbody tr.transport-row-status-delivered,
    .transports-table tbody tr.transport-row-status-cancelled {
        position: relative;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 14px;
    }

    .transports-table tbody tr > td.transport-mobile-loading {
        grid-column: 1;
        grid-row: 1;
        min-height: 0;
        padding-top: 4px;
        padding-bottom: 10px;
    }
    .transports-table tbody tr > td.transport-mobile-unloading {
        grid-column: 2;
        grid-row: 1;
        min-height: 0;
        padding-top: 4px;
        padding-bottom: 10px;
    }
    .transports-table tbody tr > td.transport-mobile-cargo {
        grid-column: 1;
        grid-row: 2;
        padding-top: 10px;
        border-top: 1px solid rgba(15,23,42,.07);
    }
    .transports-table tbody tr > td.transport-mobile-price {
        grid-column: 2;
        grid-row: 2;
        padding-top: 10px;
        border-top: 1px solid rgba(15,23,42,.07);
    }
    .transports-table tbody tr > td.transport-mobile-distance {
        grid-column: 1;
        grid-row: 3;
        padding-top: 10px;
        border-top: 1px solid rgba(15,23,42,.07);
    }
    .transports-table tbody tr > td.transport-mobile-vehicle {
        grid-column: 2;
        grid-row: 3;
        padding-top: 10px;
        border-top: 1px solid rgba(15,23,42,.07);
    }

    /* Poslední řádek: zadavatel vlevo, ovládání vpravo. */
    .transports-table tbody tr > td.transport-mobile-customer {
        grid-column: 1 / -1;
        grid-row: 4;
        position: relative;
        display: block;
        min-height: 52px;
        margin-top: 4px;
        padding: 11px 196px 0 0;
        border-top: 1px solid rgba(15,23,42,.08);
        border-bottom: 0;
        overflow: hidden;
        text-align: left;
    }
    .transports-table tbody tr > td.transport-mobile-customer::before {
        display: block;
        padding-bottom: 3px;
    }

    .transports-table .transports-status-cell {
        grid-column: 1 / -1;
        grid-row: 4;
        align-self: center;
        justify-self: end;
        z-index: 1;
        min-height: 0;
        width: 110px;
        margin: 0 86px 0 0;
        padding: 0 !important;
        border: 0;
    }
    .transports-table .transports-status-cell form,
    .transports-table .transports-status-cell .d-flex {
        width: 100%;
        max-width: none;
    }
    .transports-table .transports-status-cell .d-flex {
        gap: 5px !important;
    }
    .transports-table .transports-status-cell .badge {
        flex: 0 0 8px;
        width: 8px;
        height: 8px;
        min-width: 8px;
        min-height: 8px;
        padding: 0;
        border-radius: 50%;
    }
    .transports-table .transports-status-cell select {
        min-width: 0;
        padding-left: .38rem;
        padding-right: 1.45rem;
        font-size: .76rem;
    }

    .transports-table .transports-actions-cell {
        grid-column: 1 / -1;
        grid-row: 4;
        align-self: center;
        justify-self: end;
        z-index: 2;
        min-height: 0;
        margin: 0;
        padding: 0 !important;
        border: 0;
    }
    .transports-table .transport-action-buttons {
        gap: 6px;
        min-height: 34px;
    }
    .transports-table .transport-action-btn {
        width: 34px;
        height: 34px;
        border-radius: 8px;
    }

    html.dark-mode .transports-table tbody tr > td.transport-mobile-cargo,
    body.dark-mode .transports-table tbody tr > td.transport-mobile-cargo,
    html.dark-mode .transports-table tbody tr > td.transport-mobile-price,
    body.dark-mode .transports-table tbody tr > td.transport-mobile-price,
    html.dark-mode .transports-table tbody tr > td.transport-mobile-distance,
    body.dark-mode .transports-table tbody tr > td.transport-mobile-distance,
    html.dark-mode .transports-table tbody tr > td.transport-mobile-vehicle,
    body.dark-mode .transports-table tbody tr > td.transport-mobile-vehicle,
    html.dark-mode .transports-table tbody tr > td.transport-mobile-customer,
    body.dark-mode .transports-table tbody tr > td.transport-mobile-customer {
        border-color: rgba(148,163,184,.16);
    }
}

/* v1.0.347 – Přepravy: jemné barevné odlišení mobilních karet podle stavu */
@media (max-width: 767px) {
    /* Barevnost je úmyslně velmi jemná, aby zůstaly čitelné údaje i ovládací prvky. */
    .transports-table tbody tr.transport-row-status-unloaded {
        background: rgba(108, 117, 125, .075);
        border-color: rgba(108, 117, 125, .24);
    }
    .transports-table tbody tr.transport-row-status-loaded {
        background: rgba(255, 193, 7, .105);
        border-color: rgba(255, 193, 7, .32);
    }
    .transports-table tbody tr.transport-row-status-delivered {
        background: rgba(25, 135, 84, .085);
        border-color: rgba(25, 135, 84, .28);
    }
    .transports-table tbody tr.transport-row-status-cancelled {
        background: rgba(220, 53, 69, .075);
        border-color: rgba(220, 53, 69, .26);
    }

    html.dark-mode .transports-table tbody tr.transport-row-status-unloaded,
    body.dark-mode .transports-table tbody tr.transport-row-status-unloaded {
        background: rgba(148, 163, 184, .10);
        border-color: rgba(148, 163, 184, .22);
    }
    html.dark-mode .transports-table tbody tr.transport-row-status-loaded,
    body.dark-mode .transports-table tbody tr.transport-row-status-loaded {
        background: rgba(234, 179, 8, .13);
        border-color: rgba(234, 179, 8, .28);
    }
    html.dark-mode .transports-table tbody tr.transport-row-status-delivered,
    body.dark-mode .transports-table tbody tr.transport-row-status-delivered {
        background: rgba(34, 197, 94, .12);
        border-color: rgba(34, 197, 94, .27);
    }
    html.dark-mode .transports-table tbody tr.transport-row-status-cancelled,
    body.dark-mode .transports-table tbody tr.transport-row-status-cancelled {
        background: rgba(248, 113, 113, .10);
        border-color: rgba(248, 113, 113, .25);
    }
}


/* v1.0.348 – Přepravy: kompaktní souhrnné dlaždice na mobilu a v PWA */
@media (max-width: 767px) {
    .transport-stats-row {
        --bs-gutter-x: .5rem;
        --bs-gutter-y: .5rem;
        margin-bottom: 1rem !important;
    }
    .transport-stats-row > .col-md-3 {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
    }
    .transport-stats-row .stat-card {
        min-height: 70px;
        padding: 10px 12px;
        border-radius: 12px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 2px;
    }
    .transport-stats-row .stat-card span {
        font-size: .72rem;
        line-height: 1.15;
    }
    .transport-stats-row .stat-card strong {
        font-size: 1.13rem;
        line-height: 1.18;
        white-space: nowrap;
    }
}


/* v1.0.349 – Přepravy: kompaktní ikonové akce v hlavičce */
.transport-page-actions {
    margin-left: auto;
    justify-content: flex-end;
}
.transport-page-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    line-height: 1;
}
.transport-page-action-btn i {
    font-size: 1rem;
    line-height: 1;
}
@media (max-width: 767px) {
    .transport-page-actions {
        width: 100%;
        margin-left: 0;
        justify-content: flex-end;
    }
    .transport-page-action-btn {
        width: 36px;
        height: 36px;
    }
}


/* v1.0.350 – Tento týden: ikonové akce a kompaktní dlaždice na mobilu/PWA */
.transport-week-page-actions {
    margin-left: auto;
    justify-content: flex-end;
}
.transport-week-page-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    line-height: 1;
}
.transport-week-page-action-btn i {
    font-size: 1rem;
    line-height: 1;
}
@media (max-width: 767px) {
    .transport-week-page-actions {
        width: 100%;
        margin-left: 0;
        justify-content: flex-end;
    }
    .transport-week-page-action-btn {
        width: 36px;
        height: 36px;
    }
    .transport-week-stats-row,
    .transport-week-daily-row {
        --bs-gutter-x: .5rem;
        --bs-gutter-y: .5rem;
        margin-bottom: 1rem !important;
    }
    .transport-week-stats-row > .col-md-4,
    .transport-week-daily-row > .col-md-2 {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
    }
    .transport-week-stats-row .stat-card,
    .transport-week-daily-row .stat-card {
        min-height: 70px;
        padding: 10px 12px;
        border-radius: 12px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 2px;
    }
    .transport-week-stats-row .stat-card span,
    .transport-week-daily-row .stat-card span {
        font-size: .72rem;
        line-height: 1.15;
    }
    .transport-week-stats-row .stat-card strong,
    .transport-week-daily-row .stat-card strong {
        font-size: 1.13rem;
        line-height: 1.18;
        white-space: nowrap;
    }
    .transport-week-stats-row .stat-card .text-muted {
        margin-top: 0 !important;
        font-size: .67rem;
        line-height: 1.1;
    }
}


/* v1.0.352 – Přepravy: desktop bez čísla a s ikonovými akcemi */
@media (min-width: 768px) {
    .transports-table .transport-action-buttons {
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        gap: 6px;
    }
    .transports-table .transport-delete-form {
        display: inline-flex;
        margin: 0;
    }
    .transports-table .transport-action-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        padding: 0;
        line-height: 1;
    }
    .transports-table .transport-action-btn i {
        font-size: 1rem;
        line-height: 1;
    }
    .transports-table .transport-action-label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
}


/* v1.0.355 – Spotřeba: jednotné ikonové akce a modré úpravy */
.fuel-overview-actions {
    margin-left: auto;
}
.fuel-toolbar-icon {
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.fuel-toolbar-icon .bi {
    font-size: 1.05rem;
    line-height: 1;
}
@media (max-width: 767px) {
    .fuel-overview-actions {
        width: 100%;
        margin-left: 0;
    }
    .fuel-toolbar-icon {
        width: 2.25rem;
        height: 2.25rem;
    }
}


/* v1.0.357 – Sklad: horní akce jako piktogramy */
.stock-page-actions .stock-top-icon-action {
    min-width: 2.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.stock-page-actions .stock-top-icon-action .bi {
    font-size: 1rem;
    line-height: 1;
}
@media (max-width: 767px) {
    .stock-page-actions {
        justify-content: flex-end;
    }
}

/* v1.0.358 – Sklad: stejná velikost horních ikon jako Spotřeba */
.stock-page-actions .fuel-toolbar-icon,
.stock-movements-top-actions .fuel-toolbar-icon {
    flex: 0 0 auto;
}
.stock-movements-top-actions {
    margin-left: auto;
}


/* v1.0.360 – Vozidla: sjednocené ikonové akce */
.vehicle-page-heading { min-width: 0; }
.vehicle-page-heading .vehicle-top-actions { max-width: 100%; }
.vehicle-top-actions .btn { min-width: 38px; min-height: 38px; display: inline-flex; align-items: center; justify-content: center; }
.vehicle-top-actions .btn i { font-size: 1.05rem; }
.vehicle-card-actions .btn { min-width: 32px; display: inline-flex; align-items: center; justify-content: center; }

/* v1.0.362 – Vozidla: desktopové zarovnání horních akcí na pravou hranu obsahu.
   Vnitřní pravé odsazení odpovídá půlce gutteru karet, aby ikony nekončily mimo obsah. */
@media (min-width: 992px) {
    .vehicle-page-heading {
        width: 100%;
        padding-right: calc(var(--bs-gutter-x, 1.5rem) * .5);
        box-sizing: border-box;
    }
    .vehicle-page-heading .vehicle-top-actions {
        flex: 0 0 auto;
        margin-left: auto;
        margin-right: 0;
    }
}


/* Dashboard: mapa aktuálních poloh T-Cars. Výška odpovídá velké kartě s grafem nákladů. */
.tcars-dashboard-map-card .card-body{padding:0}
.tcars-dashboard-map{height:336px;width:100%;border-radius:0 0 var(--bs-card-border-radius) var(--bs-card-border-radius);overflow:hidden;background:#eef2f6}
@media (max-width:991px){.tcars-dashboard-map{height:300px}}

/* v1.0.400 – Dashboard desktop: pevné výšky hlavních grafů a upozornění.
   Výška pravého bloku je deterministicky daná součtem dvou levých karet.
   Na mobilu se pevné výšky nepoužívají. */
@media (min-width: 992px) {
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns {
        --dashboard-cost-card-height: 300px;
        --dashboard-fuel-card-height: 420px;
        --dashboard-charts-gap: .75rem;
        --dashboard-alert-card-height: calc(var(--dashboard-cost-card-height) + var(--dashboard-fuel-card-height) + var(--dashboard-charts-gap));
        align-items: flex-start;
    }
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .dashboard-charts-stack {
        gap: var(--dashboard-charts-gap) !important;
    }
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .dashboard-cost-card,
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .fuel-dashboard-card {
        display: flex;
        flex-direction: column;
        min-height: 0;
        overflow: hidden;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .dashboard-cost-card {
        height: var(--dashboard-cost-card-height);
    }
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .fuel-dashboard-card {
        height: var(--dashboard-fuel-card-height);
    }
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .dashboard-cost-card > .card-body,
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .fuel-dashboard-card > .card-body {
        position: relative;
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
    }
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns #costChart,
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .fuel-chart-wrap,
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns #fuelLitersChart {
        height: 100% !important;
        max-height: none !important;
        min-height: 0;
    }
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .dashboard-alert-column {
        height: var(--dashboard-alert-card-height);
        min-height: 0;
    }
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .dashboard-alert-card {
        height: 100% !important;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .dashboard-alert-card > .card-body {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
    }
}


/* v1.0.401 – Dashboard: pevná výška karet bez deformace grafu nákladů.
   Vnitřní obal poskytne Chart.js samostatný rozměr; rozměry karet z v1.0.400 se nemění. */
@media (min-width: 992px) {
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .dashboard-cost-card > .card-body {
        display: flex;
        flex: 1 1 auto;
        min-height: 0;
    }
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .cost-chart-wrap {
        position: relative;
        flex: 1 1 auto;
        min-height: 0;
        width: 100%;
    }
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .cost-chart-wrap > #costChart {
        display: block;
        width: 100% !important;
        height: 100% !important;
    }
}


/* v1.0.402 – Graf nákladů vyplní celý dostupný prostor pevné karty.
   Karta a její výška se nemění; absolutně vymezený canvas odstraní dědění
   původního HTML atributu height a Chart.js se po usazení flex rozložení přepočítá. */
@media (min-width: 992px) {
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .dashboard-cost-card > .card-body {
        position: relative;
        display: block;
        min-height: 0;
    }
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .cost-chart-wrap {
        position: absolute;
        inset: 1rem;
        min-height: 0;
        height: auto;
    }
    .dashboard-layout-fix .dashboard-main-charts-row.dashboard-main-charts-row--two-columns .cost-chart-wrap > #costChart {
        position: absolute;
        inset: 0;
        width: 100% !important;
        height: 100% !important;
    }
}
