:root {
    --bg-color: #1d2125;
    --bg-card: #161a1d;
    /* Default Dark Mode Background */
    --text-color: #f7f8f9;
    --text-no-file: white;
    --file-folder: #e0e0e0;
    --file-folder-shadow: rgba(68, 55, 53, 0.3);
    /* Default Dark Mode Text */
    --border-color: #32363d;
}

svg {
    /* transform: rotate(90deg); */
    transform-origin: center;
    image-rendering: auto; /* default */
    will-change: transform;
    backface-visibility: hidden;
}

/* Light Mode Styles */
.light-mode {
    --bg-color: #f7f8f9;
    --bg-card: #f1f2f4;
    --text-color: #1d2125;
    --text-no-file: #575757;
    --file-folder: #d5dbdd;
    --file-folder-shadow: rgba(146, 146, 146, 0.8);
    --border-color: #b9c1d0;
}

/* Prevent scrolling */
html,
body {
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.icon-qc {
    content: url(../icon/qc_illust.svg);
    width: 50%;
}

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

.blink {
    animation: blink 1s infinite;
}

.layout-manpower {
    content: url(../icon/manpower.svg);
    position: absolute;
    width: 2%;
    /* height: 7%; */
}

.icon-alarm-null {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #d5d8cd;
}
.icon-alarm-absent {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #fe0000;
}
.icon-alarm-present {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #8fd055;
}
.icon-alarm-replaced {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #fefc08;
}

.bg-present {
    background-color: #8fd055;
}

.bg-absent {
    background-color: #fe0000;
}

.bg-replaced {
    background-color: #fefc08;
}

.bg-null {
    background-color: #d5d8cd;
}

.flex-container {
    display: flex;
    height: 93vh;
    padding: 5px 0px;
    gap: 10px;
    box-sizing: border-box;
    flex-direction: column;
}

.top-row {
    display: flex;
    flex: 1;
    flex-direction: column;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background-color: var(--bg-card);
    color: var(--text-color);
    padding: 10px;
    gap: 20px;
    min-height: 0;
    overflow: hidden;
}

.top-row-content {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    min-height: 0;
    gap: 10px;
}

.top-row-left {
    display: flex;
    flex: 1;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 10px;
    position: relative;
}

.top-row-left img {
    width: 100%;
    height: 100%;
}

.dot {
    position: absolute;
    width: 40px;
    height: 40px;
    /* background-color: red; */
    border-radius: 50%;
    border: 2px solid black;
}

.top-row-right {
    border: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    align-items: start;
    align-content: center;
    justify-content: space-around;
    width: 16rem;
    padding: 0px 20px;
}

.legend {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.top-row-right .legend {
    font-weight: bold;
}

.top-row-right .legend i {
    width: 15px;
}

.header-top-row {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
}

.header-top-row h3 {
    font-size: 1.1rem;
    font-weight: bold;
}

.bottom-row {
    display: flex;
    flex: 1;
    flex-direction: row;
    gap: 10px;
    color: var(--text-color);
}

.card-employees {
    display: flex;
    flex: 1;
    flex-direction: column;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 10px;
    justify-content: space-between;
    gap: 10px;
    background-color: var(--bg-card);
}

.card-employee {
    border: 1px solid var(--border-color);
    border-radius: 8px;
    height: 100%;
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.card-employee h3 {
    font-size: 1.1rem;
    font-weight: bold;
}

.card-employee-inside {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    padding: 0px 10px;
}

.employee-number {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.employee-number p {
    border: 1px solid var(--text-color);
    border-radius: 10px;
    padding: 0.5rem;
    width: 6rem;
    text-align: center;
}

.employee-number p:first-of-type {
    background-color: var(--text-color);
    color: var(--bg-color);
}

.card-attendance {
    display: flex;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    flex: 1;
    flex-direction: column;
    padding: 10px;
    gap: 10px;
    background-color: var(--bg-card);
    justify-content: space-around;
}

.card-attendance-inside {
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 0.5rem;
}

.card-attendance-inside h3 {
    font-size: 1.1rem;
    font-weight: bold;
}

.card-attendance-chart {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-evenly;
}

.card-monitoring {
    display: flex;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    flex: 3;
    flex-direction: column;
    padding: 10px;
    background-color: var(--bg-card);
}

.card-monitoring h3 {
    font-size: 1.1rem;
    font-weight: bold;
}
.card-table-manpower {
    height: 31rem !important;
    overflow: auto;
}
table.table {
    text-align: center;
}

.table,
.table th,
.table td {
    background-color: var(--bg-color) !important;
    color: var(--text-color) !important;
    border-color: var(--border-color) !important;
    vertical-align: middle;
    text-align: center !important;
}

.select2-container--default
    .select2-selection--single
    .select2-selection__rendered {
    background-color: var(--text-color) !important;
    color: var(--bg-color) !important;
    /* border: 1px solid var(--border-color) !important; */
}

.select2-container--default .select2-results__option--disabled,
.select2-results__option--selectable {
    background-color: var(--text-color) !important;
    color: var(--bg-color) !important;
}

.select2-results__option {
    background-color: var(--text-color);
    color: var(--bg-color);
}

.select2-container--default .select2-results__option--disabled,
.select2-results__option--selectable:hover {
    background-color: var(--bg-color) !important;
    color: var(--text-color) !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    color: #fff;
}

.improve-bar {
    display: flex;
    flex-direction: row;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

.date-input {
    width: 150px;
    text-align: center;
    background-color: var(--text-color);
    color: var(--bg-color);
}
