body {
    zoom: 100%
}

html {
    font-size: 100%
}

body {
    font-size: 16px !important;
    font-family: -apple-system, BlinkMacSystemFont, Arial, sans-serif;
    text-rendering: optimizeLegibility;
    color: #333
}

body {
    line-height: 1.4
}

body,
html {
    margin: 0;
    padding: 0
}

a:hover {
    color: #2154f7;
    text-decoration: none;
    text-shadow: 1px 1px 0 #dfdfdf, 2px 2px 0 #b9b9b9
}

a {
    color: #337ab7;
    text-decoration: none
}

h1 {
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    margin: 10px
}

h1 a {
    font-size: 16px;
    text-decoration: none
}

h1 a:hover {
    color: #1a67eb;
    text-decoration: none
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

block quote:after,
block quote:before,
q:after,
q:before {
    content: '';
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

caption,
td,
th {
    font-weight: 400;
    text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
    clear: both
}

html {
    overflow-y: scroll;
    -webkit-text-size-adjust: 120%;
    -ms-text-size-adjust: 120%
}

a:focus {
    outline: 0;
    outline: 0
}

hr,
img {
    border: 0
}

hr {
    background-color: #e4e4e4;
    height: 1px;
    margin: 5px
}

.entry-header .entry-title a,
.entry-title a:hover,
h1 a,
h1 a:hover,
h2 a,
h2 a:hover {
    text-shadow: 1px 1px 0 #dfdfdf, 2px 2px 0 #b9b9b9
}

a,
abbr,
acronym,
address,
applet,
aside,
audio,
b,
big,
block quote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
field set,
fig caption,
figure,
footer,
form,
group,
h1,
h2,
h3,
h4,
h5,
h6,
header,
html,
i,
iframe,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
th,
thead,
time,
toot,
tr,
tt,
u,
ul,
var,
video {
    line-height: 1.4em;
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline
}

site-wrap {
    margin: 0 auto;
    overflow: hidden;
    width: 100%
}

#site-wrap,
.body,
.footer,
body,
html {
    background: url(/images/bg.jpg) #d8dbdc
}

.ui-autocomplete {
    max-height: 240px;
    max-width: 250px;
    overflow-y: scroll;
    overflow-x: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding-right: 5px
}

.ui-autocomplete li {
    font-size: 16px
}

.ui-menu .ui-menu-item a {
    text-overflow: ellipsis;
    overflow: hidden
}

* html .ui-autocomplete {
    height: 250px
}

.info-box-icon {
    min-width: 80px !important;
    max-height: 80px;
}

.info-box-content {
    width: calc(80%);
}

#modal-overlay {
    position: fixed;
    z-index: 10;
    background: black;
    display: block;
    opacity: .75;
    filter: alpha(opacity=75);
    width: 100%;
    height: 100%;
}

select {
    margin-top: 5px;
}

.main-header .navbar-nav .nav-item {
    margin-left: 10px !important;
}

.navbar-nav>li>a {
    line-height: 10px;
}

.content {
    padding-bottom: 30px;
}

.alert a {
    color: #007bff;
    text-decoration: underline;
}

.list-group-item+.list-group-item {
    border-top-width: 1px;
    border-top: 1px solid gray;
}

.nav-link {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.break-link {
    word-break: break-all;
    /* или более мягкий вариант: */
    /* overflow-wrap: break-word; */
    /* word-wrap: break-word; */
}

.ui-autocomplete {
    width: 100% !important;
    max-width: none !important;
}

.blink {
    animation: blink-animation 1.5s infinite !important;
}

@keyframes blink-animation {
    0% {
        background-color: #fff;
    }

    50% {
        background-color: yellow;
    }

    100% {
        background-color: darkyellow;
    }
}

.panel-style {
    max-width: 450px;
    margin: 30px auto;
}

.logo-container {
    text-align: center;
    margin-bottom: 20px;
}

.logo-container img {
    max-width: 200px;
    height: auto;
}

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

.btn-lg {
    padding: 12px 24px;
    font-size: 16px;
}

.alert {
    margin-top: 15px;
}

.has-error input {
    border-color: #a94442;
}

.panel,
.panel-title {
    line-height: 1.4em;
}

.breadcrumb {
    font-size: small;
}

.master-select-wrapper {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.master-select {
    width: 80%;
    display: inline-block;
}

.add-master {
    margin-top: 10px;
}

.btn-toolbar .btn {
    margin-bottom: 8px;
}

@media (min-width: 768px) {
    .btn-toolbar .btn {
        margin-bottom: 0;
    }
}

.list-group-item-bottom-border {
    border: none;
    border-bottom: 1px solid #ddd;
    border-radius: 0 !important;
}

.incident-text .edit-incident-text {
    font-size: 0.8em;
    margin-left: 5px;
    opacity: 0.6;
}

.incident-text .edit-incident-text:hover {
    opacity: 1;
}

p {
    margin-top: 0;
    margin-bottom: 10px;
    line-height: 1.3;
}

.incident-labels {
    display: flex;
    flex-wrap: wrap;
    /* разрешаем перенос */
    gap: 6px;
    /* расстояние между метками */
    margin: 8px 0;
    line-height: 1.4;
}

.incident-labels .label {
    flex: 0 1 auto;
    /* не растягиваем, но позволяем сжиматься при необходимости */
    white-space: normal;
    /* главное — разрешаем перенос текста внутри label */
    word-break: break-word;
    /* если совсем длинное слово — разобьём */
    padding: 4px 8px;
    font-size: 12px;
}

@media (max-width: 767px) {
    .incident-labels .label {
        font-size: 11px;
        padding: 3px 6px;
    }
}

.select2-container--default .select2-selection--single {
    height: 30px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    border-radius: 4px;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 20px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 30px;
}

.spotlight .image {
    width: 200px !important;
    /* Фиксированная ширина для квадрата */
    height: 200px !important;
    /* Равная высота для симметрии */
    border-radius: 50% !important;
    /* Круглый контейнер */
    overflow: hidden;
    /* Обрезаем лишнее */
    margin: 0 auto 1em auto;
    /* Центрируем, если нужно */
    display: flex;
    /* Для центрирования img внутри */
    align-items: center;
    justify-content: center;
}

.spotlight .image img {
    width: 100% !important;
    /* Заполняет контейнер */
    height: 100% !important;
    object-fit: cover !important;
    /* Сохраняет пропорции, обрезает */
    border-radius: 50% !important;
    /* Круглая форма */
    max-height: none !important;
    /* Убираем старый лимит */
}

@media screen and (max-width: 736px) {
    .spotlight .image {
        width: 150px !important;
        /* Адаптив для мобильных */
        height: 150px !important;
    }
}
#search-results {
    position: absolute;
    z-index: 1050;
    background: white;
    border: 1px solid #ccc;
    width: calc(100% - 30px);
    max-height: 200px;
    overflow-y: auto;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.search-result-item:hover {
    background-color: #f0f0f0;
}
.search-result-item.text-primary:hover {
    background-color: #e7f3ff;
}
/* Убираем обрезку последнего пункта */
.main-sidebar .nav-sidebar {
    padding-bottom: 1rem;
}
.main-sidebar .nav-item:last-child {
    margin-bottom: 0;
}
/* Фикс высоты меню */
.sidebar {
    height: calc(100vh - 3.5rem);
    overflow-y: auto;
}
.h2, h2 {
    font-size: 1.2rem;
}