body {
font-family: 'Arial', sans-serif;
background-color: #2e3440;
color: #d8dee9;
margin: 0;
padding: 0;
}

h1, h2 {
color: #8fbcbb;
text-align: center;
}

table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}

th, td {
border: 1px solid #4c566a;
text-align: left;
padding: 8px;
}

th {
background-color: #4c566a;
color: #d8dee9;
}

/* Стили для меню (оставлены без изменений) */
.menu-container {
position: relative;
display: inline-block;
margin: 10px;
}

.menu-button {
padding: 10px 15px;
background-color: #8fbcbb;
color: #2e3440;
border: none;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s;
}

.menu-button:hover {
background-color: #4c566a;
}

.menu-dropdown {
position: absolute;
top: 100%;
left: 0;
background-color: #4c566a;
border: 1px solid #8fbcbb;
border-radius: 5px;
padding: 5px 0;
display: none;
z-index: 1000;
}

.menu-dropdown.show {
display: block;
}

.menu-dropdown a {
display: block;
padding: 8px 15px;
text-decoration: none;
color: #d8dee9;
transition: background-color 0.3s;
}

.menu-dropdown a:hover {
background-color: #616e88;
}

/* Стили для страниц (оставлены без изменений) */
.page {
display: none;
padding: 20px;
}

.active {
display: block;
}

/* Стили для поиска (оставлены без изменений) */
.search-container {
margin: 20px 0;
text-align: center;
}

/* Стили для метрик (оставлены без изменений) */
#metrics h2 {
margin-bottom: 10px;
}

.metric-container {
margin-top: 10px;
display: flex;
justify-content: center;
flex-wrap: wrap;
overflow: auto;
padding: 5px;
}

.metric-square {
border: 1px solid #8fbcbb;
padding: 20px;
margin: 10px;
text-align: center;
border-radius: 10px;
width: 150px;
height: 150px;
position: relative;
overflow: hidden;
background-color: #4c566a;
transition: transform 0.5s, background-color 0.5s;
}

.metric-square:hover {
transform: scale(1.05);
}

.percentage {
font-size: 3em;
position: absolute;
top: 30%;
left: 50%;
transform: translate(-50%, -50%);
color: #d8dee9;
z-index: 2;
}

.data {
position: absolute;
top: 60%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 0.75em;
color: #d8dee9;
z-index: 1;
}

.idle {
background-color: #dc3545;
}

.prosto-container {
white-space: nowrap;
overflow: hidden;
position: relative;
height: 100%;
}

.prosto-content {
display: inline-block;
font-size: 1.2em;
animation: blink 2s step-end infinite;
}

@keyframes blink {
0% { opacity: 1; }
50% { opacity: 0; }
100% { opacity: 1; }
}

.sla-square {
width: 330px !important;
height: auto !important;
min-height: 150px;
text-align: left;
position: relative;
padding: 20px 15px 10px 15px;
font-size: 1.1em;
background-color: #4c566a;
}

.sla-title {
font-weight: bold;
color: #8fbcbb;
font-size: 1.15em;
text-align: left;
margin-bottom: 7px;
}

.sla-row {
display: flex;
align-items: center;
margin-bottom: 6px;
justify-content: space-between;
}

.sla-label {
flex: 1 1 auto;
white-space: nowrap;
margin-right: 7px;
}

.sla-percentage {
flex: none;
min-width: 68px;
text-align: right;
font-weight: bold;
padding: 2px 8px;
border-radius: 6px;
}

.sla-high { background: #276841; color: #fff; }
.sla-medium { background: #d4af37; color: #222; }
.sla-low { background: #9e0059; color: #fff; }

/* Стили для графика КИО */
.kio-square {
width: 400px;
height: 400px;
}

/* CSS для вертикальных меток на графике КИО */
.vertical-labels {
width: 100% !important;
height: auto !important;
}

.vertical-labels + div.chartjs-size-monitor {
position: relative !important;
top: 0 !important;
left: 0 !important;
}

.vertical-labels + div.chartjs-size-monitor .chartjs-render-monitor {
position: relative !important;
top: 0 !important;
left: 0 !important;
padding: 0 !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas {
width: 100% !important;
height: auto !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas + div.chartjs-tooltip-container {
position: absolute !important;
top: 0 !important;
left: 0 !important;
pointer-events: none !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas + div.chartjs-tooltip-container div.chartjs-tooltip {
position: absolute !important;
z-index: 10 !important;
transition: opacity 0.1s ease !important;
border: 1px solid rgba(0, 0, 0, 0.8) !important;
background-color: rgba(0, 0, 0, 0.8) !important;
color: #fff !important;
border-radius: 3px !important;
pointer-events: none !important;
font-size: 12px !important;
font-style: normal !important;
padding: 10px !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas + div.chartjs-tooltip-container div.chartjs-tooltip:before {
position: absolute !important;
content: '' !important;
display: block !important;
border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent !important;
border-style: solid !important;
width: 0 !important;
height: 0 !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas + div.chartjs-tooltip-container div.chartjs-tooltip:after {
position: absolute !important;
content: '' !important;
display: block !important;
border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent !important;
border-style: solid !important;
width: 0 !important;
height: 0 !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas + div.chartjs-tooltip-container div.chartjs-tooltip table {
margin: 0 !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas + div.chartjs-tooltip-container div.chartjs-tooltip table tr {
padding: 0 !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas + div.chartjs-tooltip-container div.chartjs-tooltip table tr th {
text-align: left !important;
padding: 4px !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas + div.chartjs-tooltip-container div.chartjs-tooltip table tr td {
text-align: left !important;
padding: 4px !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas + div.chartjs-tooltip-container div.chartjs-tooltip table tr th:first-child {
width: 150px !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas + div.chartjs-tooltip-container div.chartjs-tooltip table tr td:first-child {
width: 150px !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas + div.chartjs-tooltip-container div.chartjs-tooltip table tr th:last-child {
width: 150px !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas + div.chartjs-tooltip-container div.chartjs-tooltip table tr td:last-child {
width: 150px !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas + div.chartjs-tooltip-container div.chartjs-tooltip table tr td:nth-child(2) {
width: 150px !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas + div.chartjs-tooltip-container div.chartjs-tooltip table tr:nth-child(2) {
padding: 0 !important;
}

.vertical-labels + div.chartjs-size-monitor + canvas + div.chartjs-tooltip-container div.chartjs-tooltip span.chartjs-tooltip-key {
display: inline-block !important;
margin-right: 3px !important;
border-radius: 10px !important;
height: 10px !important;
width: 10px !important;
background: red !important;
}

/* Адаптивные стили (оставлены без изменений) */
@media (max-width: 768px) {
.metric-container {
flex-direction: column;
align-items: center;
}

.metric-square {
width: 90%;
max-width: 300px;
height: auto;
}

.sla-square {
width: 90% !important;
}

table {
overflow-x: auto;
display: block;
}
}

@media (min-width: 769px) and (max-width: 1200px) {
.metric-square {
width: 45%;
max-width: 300px;
height: auto;
}
}

/* Стили для фильтра распределения (оставлены без изменений) */
.filter-container {
margin: 20px 0;
text-align: center;
}
.filter-container label {
margin-right: 10px;
}

.repair-square {
border: 1px solid #8fbcbb;
padding: 10px;
margin: 5px;
text-align: center;
border-radius: 5px;
width: 120px;
transition: background-color 0.3s;
cursor: pointer;
background-color: #4c566a;
color: #d8dee9;
}

.repair-square:hover {
background-color: #616e88;
}

.repair-square .date {
font-size: 0.8em;
color: #8fbcbb;
margin-bottom: 5px;
}

.repair-square .repair-stats {
font-size: 0.9em;
color: #d8dee9;
text-align: center;
}

.repair-stats .entered {
color: #bf616a;
font-weight: bold;
}

.repair-stats .exited {
color: #a3be8c;
font-weight: bold;
}

.repair-summary {
display: flex;
justify-content: space-around;
margin: 15px 0;
padding: 15px;
background-color: #4c566a;
border-radius: 8px;
}

.summary-item {
text-align: center;
}

.summary-item strong {
color: #8fbcbb;
}

.status-entered {
color: #bf616a;
font-weight: bold;
}

.status-exited {
color: #a3be8c;
font-weight: bold;
}

.status-continuing {
color: #ebcb8b;
font-weight: bold;
}

.timeline-container {
overflow-x: auto;
white-space: nowrap;
padding: 10px;
}

.repair-timeline {
display: flex;
align-items: flex-start;
margin: 10px 0;
}

.ust-request {
    border: 1px solid #8fbcbb;
    padding: 10px;
    margin-bottom: 10px;
    background-color: #4c566a;
    color: #d8dee9;
}

.ust-bar {
    height: 20px;
    background-color: #a3be8c;
    margin-top: 5px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding:0 5px; /* Добавлено для лучшего отображения текста внутри бара*/
}

.progress-bar-container {
    width: 100%;
    height: 40px; /* Увеличена высота для размещения текста */
    background-color: #ddd;
    border-radius: 5px;
    margin-top: 5px;
    position:relative;
    overflow:hidden;
}

.progress-bar {
    height: 100%;
    background-color: #a3be8c;
    border-radius: 5px;
    position: relative;
}
.segment{
    height: 100%;
    position:absolute;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    box-sizing:border-box;
    padding: 2px 5px;
}

.segment-customer {
    font-weight: bold;
    font-size: 0.8em;
}

.segment-work {
    font-size: 0.7em;
}