header {
    background-image: linear-gradient(0.45turn, #0c4281, #3973bc) !important;
}

input[type="checkbox"] {
    margin-right: 5px !important;
}

.required {
    display: flex;
    font-size: 1em !important;
}

[class^="akce-"],
[class^="akce-"]:hover {
    text-decoration: none;
    margin: 5px;
    width: 15px;
}

[class^="akce-"]:hover {
    opacity: 0.5;
}

.akce-nahled,
.akce-nahled:hover {
    color: #5cb85c;
}

.akce-upravit,
.akce-upravit:hover {
    color: #999999;
}

.akce-smazat,
.akce-smazat:hover {
    color: #ff0000;
}

.akce-novy,
.akce-novy:hover {
    color: #4388cc;
}

.akce-stav,
.akce-stav:hover {
    color: #a0522d;
}

.akce-soubor,
.akce-soubor:hover {
    color: #ff8c00;
}

.akce-seznam,
.akce-seznam:hover {
    color: #3333ff;
}

.akce-umrti,
.akce-umrti:hover {
    color: black;
}

.akce-vys {
    /*margin-top: 18px;
    margin-right: 18px;*/
}

.akce-zprostredkovani,
.akce-zprostredkovani:hover {
    color: #6ac817;
}

.akce-ok,
.akce-ok:hover {
    color: #6ac817;
}

.akce-excel,
.akce-excel:hover {
    color: #1d6f42;
}

.dataTables_wrapper .dataTables_filter label {
    width: auto !important;
}

.border-0 {
    border: 0px !important;
}

.border-left-0 {
    border-left: 0px !important;
}

.border-right-0 {
    border-right: 0px !important;
}

.d-none {
    display: none;
}

.show-table, .show-graph, .max-graph, .min-graph, .download-graph,
.show-table:hover, .show-graph:hover, .max-graph:hover, .min-graph:hover, .download-graph:hover {
    text-decoration: none;
    color: white;
}

.show-table:hover, .show-graph:hover, .max-graph:hover, .min-graph:hover, .download-graph:hover {
    opacity: 0.50;
}

.badge-zadost-aifo {
    background: #D35400;
    color: #fff;
}
.badge-zadost-udaje {
    background: #F39C12;
    color: #fff;
}
.badge-klient-aifo {
    background: #154360;
    color: #fff;
}
.badge-klient-udaje {
    background: #5DADE2;
    color: #fff;
}
.badge-neznamy {
    background: #B2BABB;
    color: #222;
}

#filterForm input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
}

.extid { cursor: pointer; }
.extid i { vertical-align: middle; }

.table-responsive {
    overflow-x: auto;
    position: relative;
}

.table thead th.sticky-col,
.table tbody td.sticky-col {
    position: sticky;
    right: 0;
    background: #fff;
    z-index: 2;
    box-shadow: -1px 0 0 #ddd;
    min-width: 100px;
    width: 100px;
    text-align: right;
}

.col-body {
    width: 90px;
    min-width: 90px;
    max-width: 90px;
    text-align: right;
    white-space: nowrap;
}

.col-akce {
    width: 100px;
    min-width: 100px;
    max-width: 100px;
    text-align: center;
    white-space: nowrap;
}

.col-akce a i {
    font-size: 1rem;
    vertical-align: middle;
}

#filterForm input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.menu-count-badge {
    display: inline-block;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 8px;
    background: #e9ecef;
    color: #343a40;
    font-size: 11px;
    font-weight: 600;
    line-height: 18px;
    text-align: center;
    border: 1px solid #cfd4da;
    opacity: 0;
}

.menu-count-badge.is-visible {
    opacity: 1;
}

.menu-icon-wrap {
    position: relative;
    display: inline-block;
    width: 24px;
    text-align: center;
    margin-right: 6px;
}

.menu-icon-wrap .menu-count-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    box-shadow: 0 0 0 2px #1c2a3a;
    border-radius: 999px;
}

.menu-count-inline {
    margin-left: 6px;
    box-shadow: 0 0 0 2px #1c2a3a;
}

.menu-count-badge.is-hot {
    background: #ffe08a;
    color: #3b2f00;
    border-color: #e0c064;
}

/* ===================================================================
   Přihlašovací stránka (task #118)
   Doplnění k AdminKit/Bootstrap třídám – minimum vlastních pravidel.
   =================================================================== */

.login-body .sidebar { min-width: 260px; }

.login-brand {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    padding: 14px;
    margin: 12px 16px 18px;
    text-align: center;
}
.login-brand .logo-plate {
    background: #fff;
    border-radius: 4px;
    padding: 10px 12px;
    margin-bottom: 10px;
    text-align: center;
}
.login-brand .logo-img {
    max-width: 100%;
    height: auto;
    max-height: 48px;
    display: inline-block;
}
.login-brand .sub {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.45;
    margin: 0;
}

.login-info {
    color: rgba(255, 255, 255, 0.78);
    font-size: 13px;
    padding: 0 22px;
}
.login-info h6 {
    color: rgba(255, 255, 255, 0.45);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin: 18px 0 8px;
}
.login-info .line {
    padding: 8px 0;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.12);
    line-height: 1.5;
}
.login-info .line:last-child { border-bottom: 0; }
.login-info .line a { color: #fff; }
.login-info .line a:hover { text-decoration: underline; }
.login-info .line small { color: rgba(255, 255, 255, 0.45); }

.login-foot {
    margin: 22px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.4);
    font-size: 11px;
    line-height: 1.5;
}

.login-separator {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #6c7384;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    font-weight: 600;
}
.login-separator::before,
.login-separator::after {
    content: "";
    flex: 1;
    border-top: 1px solid #e2e5ea;
}

.news-scroll {
    max-height: 540px;
    overflow-y: auto;
}
.news-scroll::-webkit-scrollbar { width: 8px; }
.news-scroll::-webkit-scrollbar-track { background: #f6f7f9; }
.news-scroll::-webkit-scrollbar-thumb {
    background: #c5cbd4;
    border-radius: 4px;
}
.news-scroll::-webkit-scrollbar-thumb:hover { background: #a3abb8; }

/* Tabulka uvnitř novinek (z DB obsahu web_stranky NOVINKY) */
.news-scroll table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.news-scroll table td,
.news-scroll table th {
    padding: 8px 10px;
    vertical-align: top;
    border-bottom: 1px solid #eef0f3;
    line-height: 1.5;
}
.news-scroll table tr:last-child td,
.news-scroll table tr:last-child th { border-bottom: 0; }
.news-scroll h5 { font-size: 16px; margin: 0 0 12px; }
