/* Custom CSS untuk mencocokkan desain asli */

/** Start of Selection */
:root {
    --green-primary: #218c3e;
    --green-light: #e2f4e6;
    --green-bg: #f5fbf6;
    --text-muted: #79747e;
    --border-color: #dfdfdf;
}

.border-default {
    border: 1px solid #DFDFDF;
}
/** End of Selection */

.w-full {
    width: 100% !important;
}

body {
    background-color: var(--green-bg);
    font-size: 14px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.app-container {
    min-height: 100vh;
    padding: 16px;
}

.modal-open {
    overflow: hidden;
}

.max-width-container {
    max-width: 1200px;
    margin: 0 auto;
}

.content-flex {
    display: flex;
    gap: 16px;
}

/* Profile Card */
.profile-card {
    flex: 1;
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.profile-header {
    position: relative;
    padding: 0;
}

.cover-image {
    height: 120px;
    background: linear-gradient(135deg, #0e9136 0%, #2c9c4a 100%);
    background-image: url('../images/bg/header.png');
    background-size: cover;
    background-position: center;
}

.profile-content {
    padding: 16px;
}

.profile-avatar-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 16px;
    margin-top: -64px;
}


.avatar-svg {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: white;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.user-name {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 8px;
}

.user-email {
    color: #666;
    margin-bottom: 16px;
}

.card {
    border: 0px;
    border-radius: 16px;
}

.divider {
    border-top: 1px solid #dfdfdf;
    padding-top: 16px;
    margin-bottom: 16px;
}

.title-2 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 16px;
}

.title-3 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 16px;
}

input:focus,
select:focus {
    outline: none;
    box-shadow: none;
    /* Jika Bootstrap menambahkan shadow */
    border-color: inherit;
    /* Opsional: agar warna border tidak berubah */
}

select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: white;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .3rem center;
    background-size: 20px;
    width: 100px;
    padding-right: 2rem;
    border-radius: 999px;
    /* jika ingin rounded full */
    border: 1px solid #ccc;
    /* atau sesuai kebutuhan */
}



.info-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

th {
    font-weight: 500;
}

.info-item {
    display: flex;
    gap: 8px;
    color: black;
}

.info-label {
    width: 125px;
    color: #000000;
    flex-shrink: 0;
}

.info-colon {
    flex-shrink: 0;
}

.info-value {
    flex: 1;
}


/* Form Card */
.form-card {
    width: 624px;
    background: white;
    border-radius: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.form-content {
    padding: 20px 24px;
}

.tab-header {
    display: flex;
    margin-bottom: 24px;
}

.tab-button {
    flex: 1;
    padding: 8px 16px;
    border: none;
    border-bottom: 1px solid #dfdfdf;
    background: transparent;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s;
}

.tab-button.active {
    background: #e2f4e6;
    border-bottom-color: #218c3e;
    color: #218c3e;
}

.tab-button.inactive {
    color: #79747e;
}

.tab-button:hover:not(.active) {
    background: #f5f5f5;
}

/* Edit Form */
.edit-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.input-group-flex {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.search-container .input-group-flex {
    flex-direction: row;
    gap: 0px;
}

.form-group {
    /*width: 100%;*/
    margin-bottom: 1.429rem;
}

.form-group label,
.input-group-flex label {
    font-size: 14px;
    font-weight: 500;
}

/*.form-group label {
    margin-bottom: 10px;
}*/

.required {
    color: #ef3a3a;
}

.form-horizontal .form-group,
.form-horizontal .input-group-flex {
    /*display: flex;*/
    flex-direction: row;
}

.form-horizontal .form-group label,
.form-horizontal .input-group-flex label {
    /*width: 150px;*/
    align-content: center;
}

/*.form-horizontal .form-group input,
.form-horizontal .input-group-flex .input-container {
    width: calc(100% - 160px);
}*/

/* Profile Image */
.profile-image-container {
    position: relative;
    display: inline-block;
}

.profile-image-preview {
    z-index: 100;
    width: 128px;
    height: 128px;
}

.profile-image-preview img {
    width: 128px;
    height: 128px;
    object-fit: cover;
}

.profile-preview-svg {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: white;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.camera-button {
    position: absolute;
    bottom: 8px;
    left: 98px;
    width: 40px;
    height: 40px;
    background: #218c3e;
    border: none;
    border-radius: 50%;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: background-color 0.2s;
}

.camera-button:hover {
    background: #1a7332;
}

/* Form Inputs */
.form-input,
.form-select,
.form-textarea {
    width: 100%;
    height: 48px;
    padding: 12px 16px;
    border: 1px solid #dfdfdf;
    border-radius: 24px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
    /* border-color: #218c3e; */
}

.form-textarea {
    height: auto;
    min-height: 80px;
    resize: none;
    padding-top: 16px;
    line-height: 1.4;
}

/* Select Dropdown */
.select-container {
    position: relative;
}

.form-select {
    appearance: none;
    background: white;
    cursor: pointer;
    padding-right: 40px;
}

.select-arrow {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #666;
    pointer-events: none;
    font-size: 12px;
}

/* Password Form */
.password-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.input-container {
    position: relative;
}

.password-input {
    width: 100%;
    height: 48px;
    padding: 12px 40px 12px 16px;
    border: 1px solid #dfdfdf;
    border-radius: 16px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}

.password-input:focus {
    border-color: #218c3e;
}

.toggle-password {
    position: absolute;
    right: 12px;
    top: 27px;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    color: #79747e;
    font-size: 16px;
    padding: 4px;
}

.toggle-password:hover {
    color: #218c3e;
}

/* Button Group */
.button-group {
    display: flex;
    gap: 16px;
    padding-top: 16px;
}

.button-group a,
.button-group button {
    width: 100%;
    padding: 10px;
}

.btn-cancel,
.btn-save {
    flex: 1;
    height: 48px;
    border-radius: 24px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    border: 1px solid;
}

.btn-cancel {
    background: transparent;
    border-color: #218c3e;
    color: #218c3e;
}

.btn-cancel:hover {
    background: #f0f9f1;
}

.btn-save {
    background: #218c3e;
    border-color: #218c3e;
    color: white;
}

.btn-save:hover {
    background: #1a7332;
}

.btn-save:disabled {
    background: #ccc;
    border-color: #ccc;
    cursor: not-allowed;
}

.btn {
    --bs-btn-font-weight: 500;
}

    .btn.btn-block {
        display: block;
        width: 100%;
    }

.fs-1 {
    font-size: 2.5rem !important;
    /* ~40px */
}

.fs-2 {
    font-size: 2rem !important;
    /* ~32px */
}

.fs-3 {
    font-size: 1.75rem !important;
    /* ~28px */
}

.fs-4 {
    font-size: 1.5rem !important;
    /* ~24px */
}

.fs-5 {
    font-size: 1.25rem !important;
    /* ~20px */
}

.fs-6 {
    font-size: 1rem !important;
    /* ~16px */
}

.-mt-4 {
    margin-top: -4px !important;
}

.carousel-caption {
    position: absolute;
    color: white;
    text-align: center;
}

.owl-carousel .item img {
    width: calc(100% - 10px);
    height: auto;
    border-radius: 16px;
}

.alert {
    border-radius: 16px;
}

.alert-primary {
    --bs-alert-color: #218C3E;
    --bs-alert-bg: #E2F4E6;
    --bs-alert-border-color: #E2F4E6;
    --bs-alert-link-color: #218C3E;
}

.alert-primary {
    --bs-alert-color: #218C3E;
    --bs-alert-bg: #E2F4E6;
    --bs-alert-border-color: #E2F4E6;
    --bs-alert-link-color: #218C3E;
}

.border-primary {
    border-color: #218C3E !important;
}

.alert-success {
    --bs-alert-color: #12B76A;
    --bs-alert-bg: #ECFDF3;
    --bs-alert-border-color: #ECFDF3;
    --bs-alert-link-color: #12B76A;
}

.alert-warning {
    --bs-alert-color: #F58523;
    --bs-alert-bg: #FEF3E9;
    --bs-alert-border-color: #FEF3E9;
    --bs-alert-link-color: #F58523;
}

.border-warning {
    border-color: #F58523 !important;
}

.alert-info {
    --bs-alert-color: #2F80ED;
    --bs-alert-bg: #F4F8FE;
    --bs-alert-border-color: #F4F8FE;
    --bs-alert-link-color: #2F80ED;
}

.border-info {
    border-color: #2F80ED !important;
}

.text-info {
    color: #2F80ED !important;
}

.alert-danger {
    --bs-alert-bg: #FEF1F1;
    --bs-alert-border-color: #FEF1F1;
}

.badge {
    padding: 0.2rem 0.4rem;
    font-weight: 500;
    font-size: 10px;
}

.badge-md {
    padding: 0.5rem 1rem 0.6rem;
    font-weight: 500;
    font-size: 12px;
}

/* Outline Badges */
.badge-outline-primary {
    border: 1px solid #218c3e;
    color: #218c3e;
    background-color: transparent;
}

.badge-outline-warning {
    border: 1px solid #F58523;
    color: #F58523;
    background-color: transparent;
}

.badge-outline-success {
    border: 1px solid #12B76A;
    color: #12B76A;
    background-color: transparent;
}

.badge-outline-info {
    border: 1px solid #00bcd4;
    color: #00bcd4;
    background-color: transparent;
}

.badge-outline-danger {
    border: 1px solid #e53935;
    color: #e53935;
    background-color: transparent;
}

.badge-outline-disable {
    border: 1px solid #DFDFDF;
    color: #79747E;
    background-color: transparent;
}

/* Soft Badges */
.bg-soft-primary,
.badge-soft-primary {
    background-color: #E2F4E6;
    color: #218c3e;
}

.badge-soft-warning {
    background-color: #FEF3E9;
    color: #F58523;
}

.badge-soft-success {
    background-color: #ECFDF3;
    color: #12B76A;
}

.badge-soft-info {
    background-color: #F4F8FE;
    color: #00bcd4;
}

.badge-soft-danger {
    background-color: #FEF1F1;
    color: #e53935;
}

.badge-soft-disable {
    background-color: #DFDFDF;
    color: #79747E;
}

.badge-default {
    color: #fff;
}

.border-danger {
    border-color: #dc3545 !important;
}

.bg-primary {
    background-color: #218c3e !important;
}

.bg-success {
    background-color: #12B76A !important;
}

.bg-warning {
    background-color: #F58523 !important;
}

.bg-secondary {
    background-color: #DFDFDF !important;
    color: #79747E;
}

.bg-info {
    background-color: #00bcd4 !important;
}

.bg-danger {
    background-color: #e53935 !important;
}

.form-check {
    margin-right: 1.5rem;
    margin-bottom: .5rem;
}

.form-check-input:checked {
    background-color: currentColor;
    border-color: currentColor;
}
.just-center {
    justify-items: center;
}
.label-zero {
    position: absolute;
    left: 35%;
    top: 85%;
}
.label-hundred {
    position: absolute;
    top: 85%;
    right: 35%;
}
.pointer {
    position: absolute;
    bottom: 50%;
    left: 50%;
    transform-origin: bottom center;
    width: 0;
    height: 0;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-bottom: 100px solid #37474f;
    border-top: 0;
    border-radius: 0;
}
.value-label {
    position: absolute;
    border: 5px solid #37474f;
    top: 58%;
    width: 100px;
    text-align-last: center;
    color: #37474f;
    height: 100px;
    align-content: center;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 36px;
    font-weight: bold;
    background-color: #eee;
    border-radius: 50%;
    z-index: 2;
}
/* Updated color classes to match your .bg-* colors */
.text-primary,
.edit {
    color: #218c3e !important;
}

.text-success {
    color: #12B76A !important;
}

.text-danger,
.delete {
    color: #e53935 !important;
}

.text-info,
.view {
    color: #00bcd4 !important;
}

.text-secondary {
    color: #79747E !important;
}

.text-warning {
    color: #F58523 !important;
}

.form-check-input.primary {
    color: #218c3e;
}
.form-check-input.secondary {
    color: #828282;
}

.form-check-input.success {
    color: #12B76A;
}

.form-check-input.warning {
    color: #F58523;
}

.form-check-input.danger {
    color: #e53935;
}

.form-check-input.info {
    color: #00bcd4;
}

.form-switch .custom-switch-label {
    font-weight: 500;
    margin-top: 2px;
    margin-left: .5rem;
    user-select: none;
}


.form-check-input.primary:checked~.form-check-label {
    color: #218c3e !important;
}

.form-check-input.success:checked~.form-check-label {
    color: #12B76A !important;
}

.form-check-input.warning:checked~.form-check-label {
    color: #F58523 !important;
}

.form-check-input.danger:checked~.form-check-label {
    color: #e53935 !important;
}

.form-check-input.info:checked~.form-check-label {
    color: #00bcd4 !important;
}

.form-check-input.secondary:checked~.form-check-label {
    color: #828282 !important;
}
.form-check-input.inactive {
    transform: rotate(180deg)
}
/* Optional: for disabled states if needed */
.form-check-input:disabled~.form-check-label {
    color: #79747E !important;
}

/* Custom Switch Style */
.form-switch .form-check-input {
    width: 2.5em;
    height: 1.4em;
    background-color: #e5e5e5;
    border-color: transparent;
    transition: all 0.3s ease;
}

.form-switch .form-check-input:focus {
    box-shadow: none;
}

/* Aktif State */
.form-switch .form-check-input:checked {
    background-color: currentColor;
    border-color: transparent;
}

/* Switch Wrapper */
.custom-switch-label {
    font-weight: 500;
    margin-left: 0.5rem;
}

/* Disabled Appearance */
.form-check-input:disabled {
    opacity: 0.4;
}

/* Container for alignment */
.custom-switch-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 16px;
}

.border-l-3 {
    border-left: 3px solid;
}
.gauge-container {
    overflow: hidden;
    height: 200px;
    justify-items: center;
}
.gauge-200 {
    height:200px;
    bottom: -40px;
}
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #218C3E;
    --bs-btn-border-color: #218C3E;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #176b30;
    /* Warna hijau lebih gelap untuk hover */
    --bs-btn-hover-border-color: #176b30;
    --bs-btn-focus-shadow-rgb: 33, 140, 62;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #145626;
    --bs-btn-active-border-color: #145626;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #218C3E;
    --bs-btn-disabled-border-color: #218C3E;
}

.btn-outline-primary {
    --bs-btn-color: #218C3E;
    --bs-btn-border-color: #218C3E;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #218C3E;
    --bs-btn-hover-border-color: #218C3E;
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #218C3E;
    --bs-btn-active-border-color: #218C3E;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #218C3E;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #218C3E;
    --bs-gradient: none;
}

.btn-warning {
    --bs-btn-color: #fff;
    --bs-btn-bg: #F58523;
    --bs-btn-border-color: #F58523;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #c96a13;
    --bs-btn-hover-border-color: #c96a13;
    --bs-btn-focus-shadow-rgb: 217, 164, 6;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #F58523;
    --bs-btn-active-border-color: #F58523;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #F58523;
    --bs-btn-disabled-border-color: #F58523;
}

.btn-outline-warning {
    --bs-btn-color: #F58523;
    --bs-btn-border-color: #F58523;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #F58523;
    --bs-btn-hover-border-color: #F58523;
    --bs-btn-focus-shadow-rgb: 255, 193, 7;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #F58523;
    --bs-btn-active-border-color: #F58523;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #F58523;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #F58523;
    --bs-gradient: none;
}

.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: #12B76A;
    --bs-btn-border-color: #12B76A;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0e9958;
    --bs-btn-hover-border-color: #0e9958;
    --bs-btn-focus-shadow-rgb: 60, 153, 110;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #12B76A;
    --bs-btn-active-border-color: #12B76A;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #12B76A;
    --bs-btn-disabled-border-color: #12B76A;
}

.btn-outline-success {
    --bs-btn-color: #12B76A;
    --bs-btn-border-color: #12B76A;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #12B76A;
    --bs-btn-hover-border-color: #12B76A;
    --bs-btn-focus-shadow-rgb: 25, 135, 84;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #12B76A;
    --bs-btn-active-border-color: #12B76A;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #12B76A;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #12B76A;
    --bs-gradient: none;
}

.btn-secondary {
    --bs-btn-color: #79747E;
    --bs-btn-bg: #DFDFDF;
    --bs-btn-border-color: #DFDFDF;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #BFBFBF;
    --bs-btn-hover-border-color: #BFBFBF;
    --bs-btn-focus-shadow-rgb: 130, 138, 145;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #DFDFDF;
    --bs-btn-active-border-color: #DFDFDF;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #DFDFDF;
    --bs-btn-disabled-border-color: #DFDFDF;
}

.btn-outline-secondary {
    --bs-btn-color: #79747E;
    --bs-btn-border-color: #DFDFDF;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #DFDFDF;
    --bs-btn-hover-border-color: #DFDFDF;
    --bs-btn-focus-shadow-rgb: 108, 117, 125;
    --bs-btn-active-color: #79747E;
    --bs-btn-active-bg: #DFDFDF;
    --bs-btn-active-border-color: #DFDFDF;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #DFDFDF;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #DFDFDF;
    --bs-gradient: none;
}

.btn-info {
    --bs-btn-color: #fff;
    --bs-btn-bg: #00bcd4;
    --bs-btn-border-color: #00bcd4;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #26c6da;
    --bs-btn-hover-border-color: #26c6da;
    --bs-btn-focus-shadow-rgb: 11, 172, 204;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #26c6da;
    --bs-btn-active-border-color: #26c6da;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #00bcd4;
    --bs-btn-disabled-border-color: #00bcd4;
}

.btn-soft-primary {
    background-color: #e2f4e6;
    color: #218C3E;
    border: none;
}

.btn-soft-warning {
    background-color: #fff3cd;
    color: #d58512;
    border: none;
}

.btn-soft-success {
    background-color: #d1f7e4;
    color: #198754;
    border: none;
}

.btn-soft-danger {
    background-color: #f8d7da;
    color: #dc3545;
    border: none;
}

.btn-soft-secondary {
    background-color: #dee2e6;
    color: #6c757d;
    border: none;
}

.btn-text {
    background-color: transparent !important;
    border: none !important;
    padding: 0.375rem 0.75rem;
    font-weight: 500 !important;
    font-size: 1rem !important;
}

.btn-text-primary {
    color: #218C3E !important;
}

.btn-text-warning {
    color: #e38900 !important;
}

.btn-text-success {
    color: #1ea35c !important;
}

.btn-text-danger {
    color: #dc3545 !important;
}

.btn-text-secondary {
    color: #a1a1a1 !important;
}

/* Header Styling */
.header-green {
    background-color: var(--green-primary);
    height: 80px;
    position: sticky;
    margin-left: 340px;
    top: 0;
    z-index: 1000;
}

.user-info {
    min-width: 200px;
}

.ml-0 {
    margin-left: 0px !important;
}

.rm-ml {
    margin-left: 0px !important;
}

/* Sidebar Styling */
.sidebar {
    width: 340px;
    min-height: calc(100vh - 80px);
    transition: transform 0.3s ease;
    bottom: 0;
    float: none;
    left: 0;
    position: fixed;
    top: 0;
}

.sidebar.collapsed {
    transform: translateX(-100%);
}

.sidebar-header {
    min-height: 120px;
    display: flex;
    align-items: center;
}

.logo-text {
    font-weight: bold;
}

.logo-main {
    font-size: 16px;
    line-height: 1.2;
}

.logo-sub {
    font-size: 10px;
    color: var(--text-muted);
    line-height: 1.2;
}

/* Submenu Styling */
.submenu {
    overflow: hidden;
    /*transition: max-height 0.3s ease-out;*/
    max-height: 0;

    opacity: 0;
    transform: translateY(-6px);
    transition: 
        max-height 0.35s ease,
        opacity 0.25s ease,
        transform 0.25s ease;
}

.submenu.show,
.submenu.show-p {
    display: block !important;
    max-height: 100000px;
    /*transition: max-height 0.5s ease-in;*/
    opacity: 1;
    transform: translateY(0);
}

.submenu-content {
    padding-left: 2rem;
}

.submenu-item {
    border-radius: 0.75rem;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 16px;
    color: #212529;
    margin-bottom: 0.25rem;
}

.submenu-item:hover:not(.bg-primary) {
    background-color: #f8f9fa !important;
}

.submenu-item.active {
    background-color: var(--green-primary) !important;
    color: white !important;
}

.dropdown-toggle-btn .dropdown-arrow {
    transition: transform .3s ease;
}

.dropdown-toggle-btn.expanded .dropdown-arrow {
    transform: rotate(180deg);
}

.title {
    font-weight: 700;
    font-size: 24px;
}

/* Component menu specific styling */
.nav-item.open .nav-link,
.nav-item .nav-link.open,
.nav-item.open-p .nav-link {
    background-color: var(--green-light) !important;
    color: var(--green-primary) !important;
}

.nav-item:has(#component-submenu) .dropdown-arrow {
    /* transform: rotate(180deg); */
}

.search-container .input-group-flex-text {
    border: 1px solid #f2f2f2;
    padding: 13px;
}

.search-container .form-control {
    border: 1px solid #f2f2f2;
}

.nav-item .nav-link:hover:not(.bg-success) {
    background-color: #f8f9fa;
    border-radius: 0.5rem;
}

/* Main Content */
.main-content {
    min-height: calc(100vh - 80px);
    margin-left: 340px;
    transition: margin-left 0.3s ease;
}

.sidebar.collapsed~.main-content {
    margin-left: -340px;
}

/* Table Sections */
.table-section {
    border: 1px solid var(--border-color);
}

.table-success {
    background-color: var(--green-light) !important;
}

.table-success th {
    border-bottom: 1px solid var(--border-color);
    font-weight: 600;
    font-size: 14px;
    color: #000;
}

.table td {
    font-size: 12px;
    vertical-align: middle;
    border-bottom: 1px solid #f2f2f2;
}

.table tbody tr:hover {
    background-color: #f8f9fa;
}

/* Search Box Styling */
.search-box .input-group-flex {
    width: 290px;
    border: 1px solid #f2f2f2;
    border-radius: 1rem;
    overflow: hidden;
}

.search-box .input-group-flex-text {
    background: transparent;
    border: none;
}

.search-box .form-control {
    border: none;
    box-shadow: none;
}

.search-box .form-control:focus {
    box-shadow: none;
}

/* Action Buttons */
.btn-outline-primary.rounded-circle {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #faf6fd;
    border-color: #e9ecef;
}

.btn-outline-success.rounded-circle {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--green-light);
    border-color: #e9ecef;
}

.btn-outline-danger.rounded-circle {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fef1f1;
    border-color: #e9ecef;
}

/* Status Badges */
.badge.bg-success-subtle {
    background-color: #ecfdf3 !important;
    color: #12b76a !important;
    font-size: 14px;
    padding: 0.5rem 1rem;
}

.badge.bg-danger-subtle {
    background-color: #fef1f1 !important;
    color: #ef3a3a !important;
    font-size: 14px;
    padding: 0.5rem 1rem;
}

/* Pagination Styling */
.pagination .page-link {
    border: none;
    color: #000;
    padding: 0.5rem 0.75rem 0.6rem;
    margin: 0 0.125rem;
    border-radius: 0.5rem;
}

.pagination .page-item.active .page-link {
    background-color: var(--green-primary);
    color: white;
}

.pagination .page-link:hover:not(.active) {
    background-color: #f8f9fa;
    color: #000;
}

.table-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

/* Form Controls */
.form-select:focus,
.show-select:focus,
.filter-select:focus {
    border-color: #f2f2f2;
    box-shadow: none;
}

.form-control:focus {
    border-color: #f2f2f2;
    box-shadow: none;
}

.form-control[readonly] {
    background-color: #eee;
    opacity: 1
}

.table-container {
    border: 1px solid #cfcfcf;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 20px;
}

.table-collapse {
    width: 100%;
    border-collapse: collapse;
    background-color: white;
}

.table-header-color th {
    background-color: #e2f4e6;
    padding: 16px 8px;
    text-align: left;
    font-size: 14px;
    font-weight: 600;
    color: #218C3E;
    border-bottom: 1px solid #f2f2f2;
    position: relative;
}

.table-header-color th svg {
    width: 16px;
    height: 16px;
    margin-left: 4px;
}

.table-header-color td {
    padding: 16px 8px;
    border-bottom: 1px solid #f2f2f2;
    font-size: 12px;
    color: #000000;
    vertical-align: middle;
}

.heading-1 {
    font-size: 72px !important;
    font-weight: 600;
    line-height: 87px;
}

.heading-2 {
    font-size: 60px !important;
    font-weight: 600;
    line-height: 72px;
}

.heading-3 {
    font-size: 48px !important;
    font-weight: 600;
    line-height: 58px;
}

.heading-4 {
    font-size: 36px !important;
    font-weight: 600;
    line-height: 44px;
}

.heading-5 {
    font-size: 30px !important;
    font-weight: 600;
    line-height: 36px;
}

.heading-6 {
    font-size: 24px !important;
    font-weight: 600;
    line-height: 30px;
}

/* Text Regular */
.text-regular-18 {
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 22px;
}

.text-regular-16 {
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 20px;
}

.text-regular-14 {
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 18px;
}

.text-regular-12 {
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 16px;
}

/* Text Medium */
.text-medium-18 {
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 22px;
}

.text-medium-16 {
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 20px;
}

.text-medium-14 {
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 18px;
}

.text-medium-12 {
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 16px;
}

/* Text Bold / Semibold */
.text-bold-18 {
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 22px;
}

.text-bold-16 {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 20px;
}

.text-bold-14 {
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 18px;
}

.text-bold-12 {
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 16px;
}

.table-header-color tbody tr {
    background-color: white;
}

.table-header-color tbody tr:hover {
    background-color: #f9f9f9;
}

.color-group {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 32px;
}

.color-box {
    width: 100px;
    text-align: center;
}

.swatch {
    width: 100%;
    height: 100px;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    margin-bottom: 8px;
}

.label {
    font-size: 13px;
    color: #333;
}

.label span {
    font-size: 12px;
    color: #777;
}

/* Color Classes */
.white {
    background-color: #ffffff !important;
}

.black {
    background-color: #000000 !important;
}

.dark {
    background-color: #1F2937 !important;
}

.grey {
    background-color: #79747E !important;
}

.light-grey {
    background-color: #f7f7f7 !important;
}

.container-bg {
    background-color: #F2F2F2 !important;
}

.primary-green {
    background-color: #218C3E !important;
}

.light-green-1 {
    background-color: #E2F4E6 !important;
}

.light-green-2 {
    background-color: #F5FBF6 !important;
}

.success {
    background-color: #12B76A !important;
}

.success-bg {
    background-color: #E2F4E6 !important;
}

.error {
    /*background-color: #EF3A3A !important;*/
}

.error-bg {
    background-color: #FEF1F1 !important;
}

.warning-orange {
    background-color: #F58523 !important;
}

.warning-bg {
    background-color: #FEF3E9 !important;
}

.blue {
    background-color: #12876A !important;
}

.blue-bg {
    background-color: #F4F8FE !important;
}

.purple {
    background-color: #9B51E0 !important;
}

.purple-bg {
    background-color: #FAF6FD !important;
}

.center-40 {
    align-items: center;
    gap: 40px;
}

.color-group-small .color-box {
    width: 60px !important;
}

.color-group-small .color-box .swatch {
    height: 60px !important;
}

/* SLATE */
.bg-slate-50 {
    background-color: #f8fafc !important;
}

.bg-slate-100 {
    background-color: #f1f5f9 !important;
}

.bg-slate-200 {
    background-color: #e2e8f0 !important;
}

.bg-slate-300 {
    background-color: #cbd5e1 !important;
}

.bg-slate-400 {
    background-color: #94a3b8 !important;
}

.bg-slate-500 {
    background-color: #64748b !important;
}

.bg-slate-600 {
    background-color: #475569 !important;
}

.bg-slate-700 {
    background-color: #334155 !important;
}

.bg-slate-800 {
    background-color: #1e293b !important;
}

.bg-slate-900 {
    background-color: #0f172a !important;
}

.bg-slate-950 {
    background-color: #020617 !important;
}

/* GRAY */
.bg-gray-50 {
    background-color: #f9fafb;
}

.bg-gray-100 {
    background-color: #f3f4f6;
}

.bg-gray-200 {
    background-color: #e5e7eb;
}

.bg-gray-300 {
    background-color: #d1d5db;
}

.bg-gray-400 {
    background-color: #9ca3af;
}

.bg-gray-500 {
    background-color: #6b7280;
}

.bg-gray-600 {
    background-color: #4b5563;
}

.bg-gray-700 {
    background-color: #374151;
}

.bg-gray-800 {
    background-color: #1f2937;
}

.bg-gray-900 {
    background-color: #111827;
}

.bg-gray-950 {
    background-color: #030712;
}

/* ZINC */
.bg-zinc-50 {
    background-color: #fafafa;
}

.bg-zinc-100 {
    background-color: #f4f4f5;
}

.bg-zinc-200 {
    background-color: #e4e4e7;
}

.bg-zinc-300 {
    background-color: #d4d4d8;
}

.bg-zinc-400 {
    background-color: #a1a1aa;
}

.bg-zinc-500 {
    background-color: #71717a;
}

.bg-zinc-600 {
    background-color: #52525b;
}

.bg-zinc-700 {
    background-color: #3f3f46;
}

.bg-zinc-800 {
    background-color: #27272a;
}

.bg-zinc-900 {
    background-color: #18181b;
}

.bg-zinc-950 {
    background-color: #09090b;
}

/* NEUTRAL */
.bg-neutral-50 {
    background-color: #fafafa;
}

.bg-neutral-100 {
    background-color: #f5f5f5;
}

.bg-neutral-200 {
    background-color: #e5e5e5;
}

.bg-neutral-300 {
    background-color: #d4d4d4;
}

.bg-neutral-400 {
    background-color: #a3a3a3;
}

.bg-neutral-500 {
    background-color: #737373;
}

.bg-neutral-600 {
    background-color: #525252;
}

.bg-neutral-700 {
    background-color: #404040;
}

.bg-neutral-800 {
    background-color: #262626;
}

.bg-neutral-900 {
    background-color: #171717;
}

.bg-neutral-950 {
    background-color: #0a0a0a;
}

/* STONE */
.bg-stone-50 {
    background-color: #fafaf9;
}

.bg-stone-100 {
    background-color: #f5f5f4;
}

.bg-stone-200 {
    background-color: #e7e5e4;
}

.bg-stone-300 {
    background-color: #d6d3d1;
}

.bg-stone-400 {
    background-color: #a8a29e;
}

.bg-stone-500 {
    background-color: #78716c;
}

.bg-stone-600 {
    background-color: #57534e;
}

.bg-stone-700 {
    background-color: #44403c;
}

.bg-stone-800 {
    background-color: #292524;
}

.bg-stone-900 {
    background-color: #1c1917;
}

.bg-stone-950 {
    background-color: #0c0a09;
}

/* Red Colors */
.bg-red-50 {
    background-color: #fef2f2 !important;
}

.bg-red-100 {
    background-color: #fee2e2 !important;
}

.bg-red-200 {
    background-color: #fecaca !important;
}

.bg-red-300 {
    background-color: #fca5a5 !important;
}

.bg-red-400 {
    background-color: #f87171 !important;
}

.bg-red-500 {
    background-color: #ef4444 !important;
}

.bg-red-600 {
    background-color: #dc2626 !important;
}

.bg-red-700 {
    background-color: #b91c1c !important;
}

.bg-red-800 {
    background-color: #991b1b !important;
}

.bg-red-900 {
    background-color: #7f1d1d !important;
}

.bg-red-950 {
    background-color: #450a0a !important;
}

/* Orange Colors */
.bg-orange-50 {
    background-color: #fff7ed !important;
}

.bg-orange-100 {
    background-color: #ffedd5 !important;
}

.bg-orange-200 {
    background-color: #fed7aa !important;
}

.bg-orange-300 {
    background-color: #fdba74 !important;
}

.bg-orange-400 {
    background-color: #fb923c !important;
}

.bg-orange-500 {
    background-color: #f97316 !important;
}

.bg-orange-600 {
    background-color: #ea580c !important;
}

.bg-orange-700 {
    background-color: #c2410c !important;
}

.bg-orange-800 {
    background-color: #9a3412 !important;
}

.bg-orange-900 {
    background-color: #7c2d12 !important;
}

.bg-orange-950 {
    background-color: #431407 !important;
}

/* Amber Colors */
.bg-amber-50 {
    background-color: #fffbeb !important;
}

.bg-amber-100 {
    background-color: #fef3c7 !important;
}

.bg-amber-200 {
    background-color: #fde68a !important;
}

.bg-amber-300 {
    background-color: #fcd34d !important;
}

.bg-amber-400 {
    background-color: #fbbf24 !important;
}

.bg-amber-500 {
    background-color: #f59e0b !important;
}

.bg-amber-600 {
    background-color: #d97706 !important;
}

.bg-amber-700 {
    background-color: #b45309 !important;
}

.bg-amber-800 {
    background-color: #92400e !important;
}

.bg-amber-900 {
    background-color: #78350f !important;
}

.bg-amber-950 {
    background-color: #451a03 !important;
}

/* Yellow Colors */
.bg-yellow-50 {
    background-color: #fefce8 !important;
}

.bg-yellow-100 {
    background-color: #fef9c3 !important;
}

.bg-yellow-200 {
    background-color: #fef08a !important;
}

.bg-yellow-300 {
    background-color: #fde047 !important;
}

.bg-yellow-400 {
    background-color: #facc15 !important;
}

.bg-yellow-500 {
    background-color: #eab308 !important;
}

.bg-yellow-600 {
    background-color: #ca8a04 !important;
}

.bg-yellow-700 {
    background-color: #a16207 !important;
}

.bg-yellow-800 {
    background-color: #854d0e !important;
}

.bg-yellow-900 {
    background-color: #713f12 !important;
}

.bg-yellow-950 {
    background-color: #422006 !important;
}

/* Lime Colors */
.bg-lime-50 {
    background-color: #f7fee7 !important;
}

.bg-lime-100 {
    background-color: #ecfccb !important;
}

.bg-lime-200 {
    background-color: #d9f99d !important;
}

.bg-lime-300 {
    background-color: #bef264 !important;
}

.bg-lime-400 {
    background-color: #a3e635 !important;
}

.bg-lime-500 {
    background-color: #84cc16 !important;
}

.bg-lime-600 {
    background-color: #65a30d !important;
}

.bg-lime-700 {
    background-color: #4d7c0f !important;
}

.bg-lime-800 {
    background-color: #3f6212 !important;
}

.bg-lime-900 {
    background-color: #365314 !important;
}

.bg-lime-950 {
    background-color: #1a2e05 !important;
}

/* Green Colors */
.bg-green-50 {
    background-color: #f0fdf4 !important;
}

.bg-green-100 {
    background-color: #dcfce7 !important;
}

.bg-green-200 {
    background-color: #bbf7d0 !important;
}

.bg-green-300 {
    background-color: #86efac !important;
}

.bg-green-400 {
    background-color: #4ade80 !important;
}

.bg-green-500 {
    background-color: #22c55e !important;
}

.bg-green-600 {
    background-color: #16a34a !important;
}

.bg-green-700 {
    background-color: #15803d !important;
}

.bg-green-800 {
    background-color: #166534 !important;
}

.bg-green-900 {
    background-color: #14532d !important;
}

.bg-green-950 {
    background-color: #052e16 !important;
}

/* Emerald Colors */
.bg-emerald-50 {
    background-color: #ecfdf5 !important;
}

.bg-emerald-100 {
    background-color: #d1fae5 !important;
}

.bg-emerald-200 {
    background-color: #a7f3d0 !important;
}

.bg-emerald-300 {
    background-color: #6ee7b7 !important;
}

.bg-emerald-400 {
    background-color: #34d399 !important;
}

.bg-emerald-500 {
    background-color: #10b981 !important;
}

.bg-emerald-600 {
    background-color: #059669 !important;
}

.bg-emerald-700 {
    background-color: #047857 !important;
}

.bg-emerald-800 {
    background-color: #065f46 !important;
}

.bg-emerald-900 {
    background-color: #064e3b !important;
}

.bg-emerald-950 {
    background-color: #022c22 !important;
}

/* Teal Colors */
.bg-teal-50 {
    background-color: #f0fdfa !important;
}

.bg-teal-100 {
    background-color: #ccfbf1 !important;
}

.bg-teal-200 {
    background-color: #99f6e4 !important;
}

.bg-teal-300 {
    background-color: #5eead4 !important;
}

.bg-teal-400 {
    background-color: #2dd4bf !important;
}

.bg-teal-500 {
    background-color: #14b8a6 !important;
}

.bg-teal-600 {
    background-color: #0d9488 !important;
}

.bg-teal-700 {
    background-color: #0f766e !important;
}

.bg-teal-800 {
    background-color: #115e59 !important;
}

.bg-teal-900 {
    background-color: #134e4a !important;
}

.bg-teal-950 {
    background-color: #042f2e !important;
}

/* Cyan Colors */
.bg-cyan-50 {
    background-color: #ecfeff !important;
}

.bg-cyan-100 {
    background-color: #cffafe !important;
}

.bg-cyan-200 {
    background-color: #a5f3fc !important;
}

.bg-cyan-300 {
    background-color: #67e8f9 !important;
}

.bg-cyan-400 {
    background-color: #22d3ee !important;
}

.bg-cyan-500 {
    background-color: #06b6d4 !important;
}

.bg-cyan-600 {
    background-color: #0891b2 !important;
}

.bg-cyan-700 {
    background-color: #0e7490 !important;
}

.bg-cyan-800 {
    background-color: #155e75 !important;
}

.bg-cyan-900 {
    background-color: #164e63 !important;
}

.bg-cyan-950 {
    background-color: #083344 !important;
}

/* Sky Colors */
.bg-sky-50 {
    background-color: #f0f9ff !important;
}

.bg-sky-100 {
    background-color: #e0f2fe !important;
}

.bg-sky-200 {
    background-color: #bae6fd !important;
}

.bg-sky-300 {
    background-color: #7dd3fc !important;
}

.bg-sky-400 {
    background-color: #38bdf8 !important;
}

.bg-sky-500 {
    background-color: #0ea5e9 !important;
}

.bg-sky-600 {
    background-color: #0284c7 !important;
}

.bg-sky-700 {
    background-color: #0369a1 !important;
}

.bg-sky-800 {
    background-color: #075985 !important;
}

.bg-sky-900 {
    background-color: #0c4a6e !important;
}

.bg-sky-950 {
    background-color: #082f49 !important;
}

/* Blue Colors */
.bg-blue-50 {
    background-color: #eff6ff !important;
}

.bg-blue-100 {
    background-color: #dbeafe !important;
}

.bg-blue-200 {
    background-color: #bfdbfe !important;
}

.bg-blue-300 {
    background-color: #93c5fd !important;
}

.bg-blue-400 {
    background-color: #60a5fa !important;
}

.bg-blue-500 {
    background-color: #3b82f6 !important;
}

.bg-blue-600 {
    background-color: #2563eb !important;
}

.bg-blue-700 {
    background-color: #1d4ed8 !important;
}

.bg-blue-800 {
    background-color: #1e40af !important;
}

.bg-blue-900 {
    background-color: #1e3a8a !important;
}

.bg-blue-950 {
    background-color: #172554 !important;
}

/* Indigo Colors */
.bg-indigo-50 {
    background-color: #eef2ff !important;
}

.bg-indigo-100 {
    background-color: #e0e7ff !important;
}

.bg-indigo-200 {
    background-color: #c7d2fe !important;
}

.bg-indigo-300 {
    background-color: #a5b4fc !important;
}

.bg-indigo-400 {
    background-color: #818cf8 !important;
}

.bg-indigo-500 {
    background-color: #6366f1 !important;
}

.bg-indigo-600 {
    background-color: #4f46e5 !important;
}

.bg-indigo-700 {
    background-color: #4338ca !important;
}

.bg-indigo-800 {
    background-color: #3730a3 !important;
}

.bg-indigo-900 {
    background-color: #312e81 !important;
}

.bg-indigo-950 {
    background-color: #1e1b4b !important;
}

/* Violet Colors */
.bg-violet-50 {
    background-color: #f5f3ff !important;
}

.bg-violet-100 {
    background-color: #ede9fe !important;
}

.bg-violet-200 {
    background-color: #ddd6fe !important;
}

.bg-violet-300 {
    background-color: #c4b5fd !important;
}

.bg-violet-400 {
    background-color: #a78bfa !important;
}

.bg-violet-500 {
    background-color: #8b5cf6 !important;
}

.bg-violet-600 {
    background-color: #7c3aed !important;
}

.bg-violet-700 {
    background-color: #6d28d9 !important;
}

.bg-violet-800 {
    background-color: #5b21b6 !important;
}

.bg-violet-900 {
    background-color: #4c1d95 !important;
}

.bg-violet-950 {
    background-color: #2e1065 !important;
}

/* Purple Colors */
.bg-purple-50 {
    background-color: #faf5ff !important;
}

.bg-purple-100 {
    background-color: #f3e8ff !important;
}

.bg-purple-200 {
    background-color: #e9d5ff !important;
}

.bg-purple-300 {
    background-color: #d8b4fe !important;
}

.bg-purple-400 {
    background-color: #c084fc !important;
}

.bg-purple-500 {
    background-color: #a855f7 !important;
}

.bg-purple-600 {
    background-color: #9333ea !important;
}

.bg-purple-700 {
    background-color: #7e22ce !important;
}

.bg-purple-800 {
    background-color: #6b21a8 !important;
}

.bg-purple-900 {
    background-color: #581c87 !important;
}

.bg-purple-950 {
    background-color: #3b0764 !important;
}

/* Fuchsia Colors */
.bg-fuchsia-50 {
    background-color: #fdf4ff !important;
}

.bg-fuchsia-100 {
    background-color: #fae8ff !important;
}

.bg-fuchsia-200 {
    background-color: #f5d0fe !important;
}

.bg-fuchsia-300 {
    background-color: #f0abfc !important;
}

.bg-fuchsia-400 {
    background-color: #e879f9 !important;
}

.bg-fuchsia-500 {
    background-color: #d946ef !important;
}

.bg-fuchsia-600 {
    background-color: #c026d3 !important;
}

.bg-fuchsia-700 {
    background-color: #a21caf !important;
}

.bg-fuchsia-800 {
    background-color: #86198f !important;
}

.bg-fuchsia-900 {
    background-color: #701a75 !important;
}

.bg-fuchsia-950 {
    background-color: #4a044e !important;
}

/* Pink Colors */
.bg-pink-50 {
    background-color: #fdf2f8 !important;
}

.bg-pink-100 {
    background-color: #fce7f3 !important;
}

.bg-pink-200 {
    background-color: #fbcfe8 !important;
}

.bg-pink-300 {
    background-color: #f9a8d4 !important;
}

.bg-pink-400 {
    background-color: #f472b6 !important;
}

.bg-pink-500 {
    background-color: #ec4899 !important;
}

.bg-pink-600 {
    background-color: #db2777 !important;
}

.bg-pink-700 {
    background-color: #be185d !important;
}

.bg-pink-800 {
    background-color: #9d174d !important;
}

.bg-pink-900 {
    background-color: #831843 !important;
}

.bg-pink-950 {
    background-color: #500724 !important;
}

/* Rose Colors */
.bg-rose-50 {
    background-color: #fff1f2 !important;
}

.bg-rose-100 {
    background-color: #ffe4e6 !important;
}

.bg-rose-200 {
    background-color: #fecdd3 !important;
}

.bg-rose-300 {
    background-color: #fda4af !important;
}

.bg-rose-400 {
    background-color: #fb7185 !important;
}

.bg-rose-500 {
    background-color: #f43f5e !important;
}

.bg-rose-600 {
    background-color: #e11d48 !important;
}

.bg-rose-700 {
    background-color: #be123c !important;
}

.bg-rose-800 {
    background-color: #9f1239 !important;
}

.bg-rose-900 {
    background-color: #881337 !important;
}

.bg-rose-950 {
    background-color: #4c0519 !important;
}

.w-100px {
    width: 100px !important;
}

.status {
    display: inline-block;
    padding: 4px 16px;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    min-width: 70px;
}

.status.active {
    background-color: #ecfdf3;
    color: #12b76a;
}

.status.inactive {
    background-color: #dfdfdf;
    color: #79747e;
}

.status.suspend {
    background-color: #f7eaea;
    color: #ef3a3a;
}

/* Custom scrollbar */
.sidebar {
    overflow-y: auto;
}

.sidebar::-webkit-scrollbar {
    width: 6px;
}

.sidebar::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.sidebar::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

.sidebar::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Loading animation */
.table-loading {
    text-align: center;
    padding: 2rem;
    color: var(--text-muted);
}

.loading-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid var(--green-primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Table hover effects */
.table tbody tr {
    transition: background-color 0.15s ease-in-out;
}

.nav-link {
    transition: all 0.15s ease-in-out;
    cursor: pointer;
    font-size: 16px;
    border-radius: 16px !important;
}

.btn {
    transition: all 0.15s ease-in-out;
}

/* Focus states for accessibility */
.form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(33, 140, 62, 0.25);
    border-color: var(--green-primary);
}

.btn:focus {
    box-shadow: 0 0 0 0.2rem rgba(33, 140, 62, 0.25);
}

.profile-section {
    position: relative;
}

.profile-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    background-color: white;
    border: 1px solid #f2f2f2;
    border-radius: 16px;
    color: #333333;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    min-width: 250px;
}

.profile-btn:hover {
    background-color: #f8f9fa;
}

.profile-avatar {
    width: 36px;
    height: 36px;
    z-index: 100;
    background-color: #e9ecef;
    border-radius: 50%;
}

.profile-avatar img {
    width: 36px;
    height: 36px;
    object-fit: cover;
}

.profile-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.16);
    padding: 8px;
    min-width: 150px;
    display: none;
    z-index: 100;
}

.profile-dropdown.show {
    display: block;
}

.dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px;
    color: #000000;
    text-decoration: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 500;
    transition: background-color 0.2s;
}

.dropdown-item:hover {
    background-color: #f8f9fa;
}

.dropdown-item svg {
    width: 24px;
    height: 24px;
}

.br-16 {
    border-radius: 16px !important;
}

.input-group-flex>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-left: calc(var(--bs-border-width) * -1);
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.input-group-flex:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),
.input-group-flex:not(.has-validation)>.form-floating:not(:last-child)>.form-control,
.input-group-flex:not(.has-validation)>.form-floating:not(:last-child)>.form-select,
.input-group-flex:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.fs-16 {
    font-size: 16px !important;
}

a {
    text-decoration: none;
}

.btn {
    border-radius: 16px;
    padding: 10px 14px 11px;
}

.btn-sm, .btn-group-sm > .btn {
    padding: 0.25rem 0.929rem;
    font-size: 0.858rem;
    line-height: 1.5;
    /*border-radius: 0.143rem;*/
}

.color-green {
    color: #218C3E !important;
}

.fw-500 {
    font-weight: 500;
}

.d-inline-block {
    display: inline-block;
}

.inline-icon {
    display: inline-flex;
    gap: 10px;
    align-items: center;
}

.left-controls {
    display: flex;
    align-items: center;
    gap: 20px;
}

.right-controls {
    display: flex;
    align-items: center;
}

.show-control {
    display: flex;
    align-items: center;
    gap: 8px;
}

.show-control span {
    font-size: 14px;
    color: #000000;
}

.show-select {
    padding: 8px 12px;
    border: 1px solid #f2f2f2;
    border-radius: 16px;
    background-color: white;
    font-size: 14px;
    color: #000000;
    cursor: pointer;
}

.search-control {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border: 1px solid #f2f2f2;
    border-radius: 16px;
    background-color: white;
    width: 290px;
}

.search-control .search-input {
    color: #79747e;
    width: 100%;
    border: 0px;
}

.filter-control {
    display: flex;
    align-items: center;
    gap: 8px;
}

.filter-control span {
    font-size: 14px;
    color: #000000;
}

.filter-select {
    padding: 8px 12px;
    border: 1px solid #f2f2f2;
    border-radius: 16px;
    background-color: white;
    font-size: 14px;
    color: #000000;
    cursor: pointer;
}
.tabs-container {
    display: flex;
    overflow-x: auto;
    border-bottom: 1px solid #dfdfdf;
}

.tab {
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 400;
    color: #79747e;
    white-space: nowrap;
    cursor: pointer;
    border-top: 3px solid transparent;
    transition: all 0.2s;
}

.tab.active {
    color: #218c3e;
    font-weight: 600;
    border-top-color: #218c3e;
    background: linear-gradient(to bottom, #e2f4e6, rgba(226, 244, 230, 0));
}

.tbody-bordered tbody tr td {
    border: 1px solid #DFDFDF;
}
.ml-10 {
    margin-left: 10px;
}
.vertical-align-top,
.vertical-align-top td {
    vertical-align: top !important;
}
.rm-hover tbody tr:hover {
    background-color: transparent;
}
.mr-10 {
    margin-right: 10px;
}

.action-buttons {
    display: flex;
    gap: 8px;
    justify-content: center;
}

.action-btn {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.2s;
}

.action-btn:hover {
    transform: scale(1.1);
}

.action-btn.view {
    background-color: #f4f8fe;
}

.action-btn.edit {
    background-color: #ecfdf3;
}

.action-btn.delete {
    background-color: #fef1f1;
}

.pagination-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pagination-info span {
    font-size: 14px;
    color: #000000;
}

.pagination-controls {
    display: flex;
    align-items: center;
}

.pagination-btn {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 16px;
    background-color: white;
    color: #000000;
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
}

.pagination-btn:hover:not(:disabled) {
    background-color: #f5f5f5;
}

.pagination-btn.active {
    background-color: #218c3e;
    color: #ffffff;
}

.pagination-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.pagination-btn svg {
    width: 24px;
    height: 24px;
}

.charts-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.chart-container {
    background: white;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.chart-container h3 {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 20px;
    line-height: normal;
}

.chart-wrapper {
    position: relative;
    height: 300px;
}

.chart-wrapper canvas {
    max-width: 100%;
    height: 100% !important;
}

/* Pie Charts Container */
.pie-charts-container {
    display: flex;
    gap: 16px;
}

.pie-chart {
    width: 443px;
}

.donut-chart {
    flex: 1;
}

.chart-legend {
    display: flex;
    gap: 16px;
    margin-top: 20px;
    justify-content: center;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.legend-color {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1px solid white;
}

.legend-item span {
    font-size: 12px;
    line-height: 16px;
}

/* Donut Chart Specific */
.donut-container {
    display: flex;
    gap: 32px;
    align-items: center;
}

.donut-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    pointer-events: none;
}

.total-label {
    font-size: 18px;
    font-weight: 500;
    color: #000;
    line-height: normal;
}

.total-value {
    font-size: 36px;
    font-weight: 600;
    line-height: 44px;
    color: #000;
}

.donut-table {
    /* min-width: 300px; */
}

.donut-table table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #dfdfdf;
    border-radius: 16px;
    overflow: hidden;
}

.donut-table th {
    background: #f5f5f5;
    padding: 5px 16px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    border-bottom: 1px solid #dfdfdf;
}

.donut-table td {
    padding: 5px 10px;
    font-size: 12px;
    text-align: center;
    border-bottom: 1px solid #dfdfdf;
}

.donut-table tr:last-child td {
    border-bottom: none;
}

.donut-table .legend-item {
    justify-content: flex-start;
}

/* Tooltip */
.tooltip {
    position: absolute;
    background: white;
    border-radius: 16px;
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.08);
    padding: 0;
    display: none;
    z-index: 1000;
    min-width: 175px;
    overflow: hidden;
}

.tooltip-header {
    background: #dfdfdf;
    padding: 8px 16px;
    font-size: 14px;
    line-height: 18px;
}

.tooltip-content {
    padding: 8px 16px;
    display: flex;
    gap: 4px;
}

.tooltip-label {
    color: #218c3e;
    font-size: 14px;
    line-height: 18px;
}

.tooltip-value {
    color: #000;
    font-size: 14px;
    line-height: 18px;
}

.border-bottom {
    border-bottom: 1px solid #DFDFDF;
}

.form-header {
    border-bottom: 1px solid #DFDFDF;
    margin-bottom: 20px;
}

.custom-file-input-wrapper {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 16px;
    overflow: hidden;
    padding: 0;
    font-family: sans-serif;
}

.custom-file-label {
    background-color: #1f2937;
    /* Dark color */
    color: white;
    padding: 10px 16px;
    cursor: pointer;
    font-weight: 500;
    border: none;
    border-radius: 16px;
    margin-bottom: 0px !important;
}

.custom-file-text {
    padding: 10px 16px;
    background-color: white;
    color: black;
    min-width: 150px;
    font-weight: 500;
    text-align: center;
    white-space: nowrap;
}

.custom-file-input {
    display: none;
}

.dropdown-menu-custom {
    min-width: 250px;
    padding: 0px 0px 5px 0px !important;
    border: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-radius: 1rem !important;
}

.dropdown-menu-custom .input-group {
    padding-top: .5rem !important;
    padding-right: .5rem !important;
    padding-left: .5rem !important;
}

.dropdown-menu-custom .dropdown-item {
    padding: 0.5rem 1rem;
    transition: background-color 0.2s ease;
}

.dropdown-menu-custom .dropdown-item:hover {
    background-color: #f0f0f0;
}

.dropdown-toggle::after {
    display: none !important;
}

.pagination-solid .page-link {
    background-color: #e2f4e6;
    border: 0px solid !important;
    color: #000;
}

.pagination-solid .page-item.active .page-link {
    background-color: #218c3e;
    color: #fff;
}

/* Outline Variant */
.pagination-outline .page-link {
    border: 1px solid #218c3e;
    color: #000;
}

.pagination-outline .page-item.active .page-link {
    background-color: transparent;
    border: 2px solid #218c3e;
    color: #218c3e;
}

.pagination .page-item {
    margin: 0px 3px;
}

.page-item:last-child .page-link,
.page-item:first-child .page-link {
    border-radius: 0.75rem;
}

/* General rounded and spacing */
.pagination .page-link {
    border-radius: 0.75rem;
    /* rounded-lg */
    margin: 0 2px;
    min-width: 40px;
    text-align: center;
    border: 1px solid #DFDFDF;
}

.form-breadcrumb {
    background-color: #218c3e;
    background-image: url('../images/bg-breadcrumb.png');
    color: white;
    padding: 20px;
    background-repeat: no-repeat;
    background-size: cover;
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
}
.has-breadcrumb {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    border-radius: 20px;
}
.has-breadcrumb .form-card {
    box-shadow: none;
    border-top-right-radius: 0px;
    border-top-left-radius: 0px;
}
.has-breadcrumb .form-content {
    padding: 0px;
}
.header-tab .d-flex {
    flex-wrap: wrap;
}
.col-md-3,
.col-md-6 {
    margin-bottom: 20px;
}
/* Print styles */
@media print {

    .sidebar,
    .header-green,
    .table-controls,
    .table-footer {
        display: none;
    }

    .main-content {
        margin: 0;
        padding: 0;
    }

    .table-section {
        border: none;
        box-shadow: none;
    }
}

/* Responsive Design */
@media (max-width: 1024px) {
    .table-controls {
        flex-direction: column;
        gap: 16px;
        align-items: stretch;
    }

    .left-controls {
        justify-content: space-between;
    }

    .pie-charts-container {
        flex-direction: column;
    }

    .pie-chart {
        width: 100%;
    }

    .donut-container {
        flex-direction: column;
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .chart-container {
        padding: 16px;
    }

    .chart-wrapper {
        height: 250px;
    }

    .pagination-container {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 10px;
    }

    .search-control {
        width: 100%;
    }

    .show-control {
        justify-content: space-between;
    }

    .sidebar {
        position: fixed;
        left: -340px;
        height: 100vh;
        top: 0;
        z-index: 1049;
        padding-top: 80px;
    }

    .left-controls {
        flex-direction: column;
        gap: 12px;
    }

    .content-flex {
        flex-direction: column;
    }

    .sidebar.show {
        left: 0;
    }

    .main-content {
        margin-left: 0 !important;
    }

    .table-controls {
        flex-direction: column;
        gap: 1rem;
    }

    .table-controls>div {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 0.5rem;
    }

    .search-box .input-group-flex {
        width: 100%;
    }

    .d-flex.gap-3 {
        flex-wrap: wrap;
        gap: 0.5rem !important;
    }

    .form-card {
        width: 100%;
    }

    .input-row {
        flex-direction: column;
        gap: 16px;
    }

    .info-item {
        flex-direction: column;
        gap: 4px;
    }

    .info-label {
        width: auto;
        font-weight: 500;
    }

    .info-colon {
        display: none;
    }

    .filter-control {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 10px;
    }
}

@media (max-width: 769px) {
    .header-green {
        padding: 0.5rem 1rem;
        z-index: 1050;
        margin-left: 0px !important;
    }

    .clock {
        display: none;
    }
}

@media (max-width: 576px) {
    .header-green {
        padding: 0.5rem 1rem;
        z-index: 1050;
        margin-left: 0px !important;
    }

    .user-info {
        min-width: auto;
        padding: 0.5rem 0.75rem;
    }

    .user-info span {
        display: none;
    }

    .profile-btn {
        min-width: 0px;
    }

    .table-responsive {
        font-size: 11px;
    }

    .pagination-info {
        font-size: 12px;
    }

    .pagination .page-link {
        padding: 0.25rem 0.5rem;
        font-size: 12px;
    }
}

button.close {
    /*padding: 0;*/
    background-color: transparent;
    border: 0;
    float: right;
}

.col-12, .col-sm-12, .col-md-12, .col-lg-12, .col-xl-12, .col-xxl-12 {
    padding-bottom: 5px;
}

.sparta-logo {
    padding: 0;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: all 0.2s;
    cursor: pointer;
    overflow: hidden;
}

    .sparta-logo:hover {
        box-shadow: 0 4px 12px #E2F4E6;
        transform: translateY(-2px);
    }

.menuItemIcon {
    width: 24px;
    height: 24px;
}

/* Home Panel Styles */
.home-panel {
    height: 88.6vh;
    background-color: var(--green-primary);
}

.background-shapes {
    /*position: absolute;*/
    bottom: -3.711%;
    /* left: -39%; */
    right: -5%;
    top: 0;
    width: 100%;
    height: 100%;
}

.glass-card {
    position: absolute;
    top: calc(50% - 0.5px);
    left: calc(50% - 0.5px);
    transform: translate(-50%, -50%);
    width: 500px;
    height: 500px;
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(15px);
    border: 1px solid #ffffff;
    border-radius: 32px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.promo-title {
    font-size: 48px;
    font-weight: bold;
    line-height: 52px;
    color: #ffffff;
    width: min-content;
    min-width: 100%;
}

.worker-image {
    position: absolute;
    bottom: 0;
    right: -35px;
    width: 300px;
    height: 450px;
    background-image: url('../images/human.png');
    background-size: 100%;
    background-position: 47.85% 100%;
    background-repeat: no-repeat;
}

.gip-icon {
    position: absolute;
    bottom: 0;
    right: 0px;
    width: 275px;
    height: 450px;
    background-image: url('../images/GIPIcon.png');
    background-size: 100%;
    background-position: 47.85% 100%;
    background-repeat: no-repeat;
}

.legal-icon {
    height: 450px;
    background-image: url('../images/LegalIcon.png');
    background-size: 100%;
    background-position: 100%;
    background-repeat: no-repeat;
}

.dashboard-icon {
    height: 450px;
    background-image: url('../images/DashboardIcon.png');
    background-size: 100%;
    background-position: 100%;
    background-repeat: no-repeat;
}

/* Responsive Design */
@media (max-width: 1440px) {
    .glass-card {
        width: 90%;
        max-width: 500px;
        height: auto;
        min-height: 300px;
    }

    .promo-title {
        font-size: 32px;
        line-height: 40px;
    }

    .worker-image {
        /* display: none; */
        width: 200px;
        right: -15px;
    }
}

@media (max-width: 768px) {
    .promo-title {
        font-size: 22px;
        line-height: 32px;
        min-width: 199px !important;
    }

    .glass-card {
        padding: 20px;
    }
}

.RequirementForm {
    transition: box-shadow 0.3s ease;
}

.RequirementForm:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
}
