body {
    font-family: 'Public Sans';
    background: #f6f6f6;
}

[class*="sidebar-dark-"] .sidebar a {
    color: #ffffff;
}

.login-page {
    /* background: url(../../images/bg.png) no-repeat; */
    background-size: cover;
}

.login-page::before {
    content: "";
    margin-left: -48%;
    background-image: url(../../images/login_curve.svg);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: 100%;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.login-box {
    width: 500px;
}

@media only screen and (max-width: 600px) {
    .login-box {
        width: 100%;
    }

    .per-role-check input {
        margin-right: 2px;
    }

    .form-group.role-permission-box .row h5 span {
        font-size: 12px;
    }

    .col-md-12.row.save-right {
        text-align: left;
        display: flex;
        justify-content: left;
        margin-left: 5px;
    }
}

.table-head-right {

    display: flex;
}

.row.save-right {
    display: flex;
    justify-content: flex-end;
}

.row.save-right button {
    padding: 8px 18px;
    margin-right: 1rem;
    width: auto;
}

.row.save-right a {
    padding: 8px 18px;
    width: auto;
}

a.brand-link img {
    height: 40px;
    object-fit: contain;
}

a.brand-link {
    text-align: center;
}


.table td,
.table th {
    vertical-align: middle !important;
}


.table td img {
    width: 100px;

}


.sidebar-menu a.nav-link {
    hyphens: auto;
    overflow-wrap: normal;
    overflow: hidden;
    padding: 0;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: normal;
    word-wrap: break-word;
    font-size: .875rem;
    padding: 10px 12px;
    font-weight: 400;
    letter-spacing: .009375em;
    line-height: 1.5rem;
    text-transform: none;
}


.form-inline {
    margin: 10px 0;
}

.card-body::after,
.card-footer::after,
.card-header::after {

    content: unset !important;
}


button.btn.btn-sidebar {
    background: #3473af !important;
    color: #fff;
}

input.form-control.form-control-sidebar {
    box-shadow: inset 2px 0px 3px 1px #8888881f;
    border: none;
    border-radius: 8px 0px 0 6px;
    outline: none;
    background: #f6f6f6;
}

[class*=sidebar-light] .btn-sidebar:hover {
    background-color: #d8232a !important;
}


.container-fluid {
    max-width: 100%;
}


@media only screen and (min-width: 1700px) {
    .container-fluid {
        max-width: 98%;
    }
}


.nav-sidebar>.nav-item .nav-icon {
    margin-left: .05rem;
    font-size: 1.2rem;
    margin-right: 10px;
}


.elevation-4 {
    box-shadow: 1px 0 20px #00000014 !important;
}

.navbar-white {
    background-color: #f6f6f6;
    color: #1f2d3d;
}


.navbar-light .navbar-nav .nav-link {
    color: #000;
    font-weight: 400;
}

.content-wrapper {
    padding: 60px 0;
}


.card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.card-title {
    font-size: 1.4rem;
    font-weight: 600;
    margin: 0;
}


.table th {
    border-top: 0px solid #dee2e6;
}

.table thead th {
    vertical-align: bottom;
    border-bottom: 1px solid #dee2e6;
}


.table td,
.table th {

    line-height: 25px;
}

.form-control[readonly] {
    background-color: #fff;
}

.forget-pw a {
    color: #1ab0e6;
}

.card-header:first-child {
    border-radius: 0;
}

.card-primary.card-outline {
    border-top: 5px solid #1bafe4;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    background: #fff;
    border-radius: 15px;
}

.col-4.log-btn {
    display: flex;
    justify-content: flex-end;
}

.log-btn button.btn.btn-primary.btn-block {
    background: #fed317 !important;
    width: unset;
    text-align: right;
    display: flex;
    justify-content: flex-end;
    padding: 0.1rem 2rem;
    border-color: #fed317 !important;
    color: #000 !important;
}

.register-box {
    width: 70%;
    margin: 60px auto;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.col-8.logiin {
    display: flex;
    align-items: center;
    padding-left: 20px;
}

.login-box .card-header.text-center,
.register-box .card-header.text-center {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.col-4.register-btn {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: 30px;
}

button.btn.btn-primary.btn-block {
    width: 200px;
    background: #0b7cc1;
}


.register-box .form-control {
    height: calc(2.6rem + 2px) !important;
}


.btn-warning {

    background-color: #DF2128 !important;
    border-color: #fff !important;
    color: #fff;
}

.btn-deactive,
.btn-active {
    width: 104px !important;
}

.col-md-2.role-check-box h5 span {
    font-size: 15px !important;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    line-height: 40px;
    letter-spacing: 0.4px;
    vertical-align: sub;
    padding-left: 4px;
    margin: 0 !important;
}

.col-md-2.role-check-box h5 {
    margin: 0;
}

.col-md-2.role-check-box {
    display: flex;
}

.btn {
    font-size: 15px;
    padding-top: 5px !important;
    padding-bottom: 5px !important;

    letter-spacing: .3px;

}

.list-lang a {
    min-height: 20px !important;
    min-width: 20px !important;
}



.form-group.role-permission-box .row {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin-bottom: 1rem;
}

.form-group.role-permission-box .row h5 span {
    font-size: 15px;
}

.form-group.role-permission-box .row h5 {
    margin-bottom: 3px;
}

.form-group.role-permission-box .per-role-check {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.per-role-check input {
    margin-right: 6px;
}


.col-md-12.row.form-group.role-permission-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.lanuage-log {
    display: flex;
    margin-top: 1.5rem;
    text-align: left;
    justify-content: flex-start;
    align-items: flex-start;
}

.lang {
    display: block;
    color: #374151;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
}

.list-lang {
    display: flex;
    margin-left: 0.75rem;
    margin-left: 1rem;
    justify-content: flex-start;

}

.list-lang a {
    background: #1ab0e6;
    color: #fff;
    margin-right: 8px;
}


.list-lang a.btn {
    font-size: 12px;
    font-weight: 500;
    padding: 3px 12px !Important;
}



.img-fluid.flag-img {
    width: 20px;
    margin-right: 12px;
}


.col-md-6.col-10.main-left-cont {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.col-md-6.col-10.main-left-cont label {
    margin: 0;
    word-wrap: anywhere;
}

.col-md-6.col-2.main-check {
    display: flex;
    align-items: center;
}

.job-currency {
    font-weight: normal;
}

@media screen and (min-width: 650px) {
    .btn-languages-web {
        display: none;
    }
}

@media screen and (max-width: 649px) {
    .btn-languages-mobile {
        display: none;
    }
}

.dashboard-filter-submit {
    margin-top: 33px;
    margin-left: 100px;
}

@media screen and (max-width: 770px) {
    .dashboard-filter-submit {
        margin-top: 0;
        margin-left: 70%;
    }
}


.inner-perfom-left .card.p-3:last-child {
    margin: 0;
}

.inner-perfom-right,
.inner-perfom-left {
    background: #fff;
    height: 100%;
    padding: 15px;
    box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);
    border-radius: 4px;
}

.nav.nav-tabs.perform-nav li {
    cursor: pointer;
}

.col-md-6.per-data-box .per-data-para,
.col-md-6.per-data-box .data-rate span {
    font-size: 16px;
    font-weight: 600;
}


.col-md-6.per-data-box .btn.btn-sm.btn-success.per-chart i {
    font-size: 24px;
}

.col-md-6.per-data-box .btn.btn-sm.btn-success.per-chart {
    height: 45px;
    width: 50px;
}

.nav.nav-tabs.perform-nav {
    background: #fff;
    margin-bottom: 1rem;
    border-radius: 50px;
    display: inline-flex;
    transition: 0.3s all ease-in-out;
    box-shadow: 0px 1px 3px 0px #888;
    padding: 12px 22px;
}

.nav.nav-tabs.perform-nav .nav-link:focus,
.nav.nav-tabs.perform-nav .nav-link:hover,
.nav.nav-tabs.perform-nav .nav-link.active {
    color: aliceblue;
    background: #000;
    border-radius: 50px;
    color: #fff;
    padding: 8px 30px;
    border: none;
}

.nav.nav-tabs.perform-nav li a {
    padding: 8px 30px;
    margin-right: 10px;
}

.nav-potential-tabs .nav.nav-tabs {
    border: none;
    margin-left: 0;
    cursor: pointer;
    margin-bottom: 1rem;
    background: #fff;
    box-shadow: 0px 1px 3px 0px #888;
    padding: 8px 22px;
    display: inline-flex;
    border-radius: 6px;
}

.nav-potential-tabs .nav-link:focus,
.nav-potential-tabs .nav-link:hover,
.nav-potential-tabs .nav.nav-tabs a.active {
    background: #d72428;
    color: #fff;
    border-radius: 50px;
    border-color: transparent;
    /* padding: 8px 22px; */
}

.nav-potential-tabs .nav.nav-tabs .nav-link:last-child {
    margin-right: 0;
}

.nav-potential-tabs .nav.nav-tabs .nav-link {
    /* background: #8888881f; */
    border-radius: 50px;
    /* margin-right: 1rem; */
}


.nav-potential-tabs .nav-item {
    /* border-radius: 20px 20px 0px 0px; */
    margin-right: 5px;
}

.nav-potential-tabs {
    text-align: center;
}


.sidebar-dark-olive .nav-sidebar>.nav-item>.nav-link.active,
.sidebar-light-olive .nav-sidebar>.nav-item>.nav-link.active {
    background-color: #137cc1 !important;
    color: #fff !important;
}

.btn-primary {
    background-color: #1ab0e6 !important;
    color: #fff !important;
    border-color: #1ab0e6 !important;
}

.btn-info {
    background-color: #137cc1 !important;
    color: #fff !important;
    border-color: #137cc1 !important;
}

.bg-primary {
    background-color: #1ab0e6 !important;
}




/* Custom css */
.dropzone {
    background: white !important;
    border-radius: 5px !important;
    border: 2px dashed rgb(0, 135, 247) !important;
    border-image: none !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.item {
    -moz-box-shadow: 1px 1px 1px 1px #ccc;
    -webkit-box-shadow: 1px 1px 1px 1px #ccc;
    box-shadow: 1px 1px 1px 1px #ccc;
}

.item img {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 180px;
    width: auto;
    padding: 10px;
    margin: auto;
}


.form-text {
    color: #6c757d !important;
    font-size: .875em !important;
}

.image-icon {
    font-size: 2rem;
    margin-top: 25px;
    display: block !important;
}

.choice-file-input {
    display: none !important;
}

.choice-file-label {
    display: inline-block;
    padding: 6px 12px;
    cursor: pointer;
    background-color: #007bff;
    color: #fff;
    border-radius: 4px;
    display: none;
}



.modal-content {
    min-height: 400px;
    /* Minimum height of the modal */
    height: auto;
    /* Allow it to expand if needed */
}

.action-plan-info-box {
    font-size: 25px !important;
}

#assessmentCompletionModel form {
    width: 100% !important;
}


@media (min-width: 1200px) {
    .modal-xl {
        max-width: 1200px !important;
    }
}

.modal-open {
    overflow: hidden !important;
}

.modal {
    overflow-y: auto !important;
}

.progress-bar {
    background-color: #2caffe;
}

#container-chart {
    display: flex;
    justify-content: center;
    align-items: center;
    /*height: 400px;*/
    /* Adjust height as needed */
    width: 100%;
}


#cameraFlex {
        flex-direction: row;
    }

@media (max-width: 820px) {
    #cameraFlex {
        flex-direction: column !important;
    }
   
}

.list-lang a:hover {
  background: #1ab0e6 !important;
  color: #fff;
}

.list-lang a.active {
  background: #127bc0  !important;
  color: #fff;
}


 /* Polished dashboard styles */
            :root{ --muted: #6b7280; --card-bg: rgba(255,255,255,0.94); }

            /* Background: subtle layered gradients for depth */
            section.content {
                background: linear-gradient(180deg, #f7fbff 0%, #e9f1fb 40%, #e1e9f6 100%);
                background-image: radial-gradient(circle at 10% 10%, rgba(99,102,241,0.05), transparent 8%), radial-gradient(circle at 90% 80%, rgba(16,185,129,0.02), transparent 8%);
            }

            .dashboard-hero {
                background: linear-gradient(90deg, rgba(99,102,241,0.08), rgba(16,185,129,0.03));
                border-left: 4px solid rgba(99,102,241,0.18);
                padding: 18px 22px;
                border-radius: 12px;
                box-shadow: 0 10px 30px rgba(12,20,40,0.06);
                backdrop-filter: blur(3px);
            }

            .card.shadow-sm.h-100 { border: 0; border-radius: 14px; background: var(--card-bg); box-shadow: 0 8px 28px rgba(15,23,42,0.06); border: 1px solid rgba(15,23,42,0.03); }
            .card-body h6 { color: var(--muted); font-weight: 600; }
            /* Ensure card titles sit on their own row and charts start below the title */
            .card .card-body > .card-title { display: block !important; width: 100%; margin-bottom: 0.5rem; white-space: normal; }
            /* Force avg and job role charts to appear below the title */
            .card .card-body > #jobRoleChart,
            .card .card-body > #avgByRoleChart { display: block !important; margin-top: 0.75rem !important; clear: both !important; }
            .stat-value { font-weight: 700; color: #071133; }
            .muted-small { color: var(--muted); }
            #jobRoleChart, #avgByRoleChart, #rolePie { background: transparent; border-radius: 8px; padding: 6px; }
            #usMapContainer { background: transparent; border-radius: 8px; padding: 8px; }

            .stat-card { display:flex; flex-direction:column; gap:10px; }
            .stat-head { display:flex; align-items:center; gap:12px; }
            .stat-icon { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:10px; background: linear-gradient(135deg, rgba(255,255,255,0.7), rgba(255,255,255,0.35)); box-shadow: 0 6px 18px rgba(2,6,23,0.04); }
            .stat-icon svg { width:20px; height:20px; fill: #071133; opacity: .95; }
            .stat-sub { font-size: .9rem; color: var(--muted); }
            .stat-value-lg { font-size: 1.6rem; }
            .card .card-body { padding: 18px; }
            /* Workshops stat card (modern, #137cc1 accent) */
            .workshop-card { background: linear-gradient(135deg, #137cc1 0%, #1f8dd6 60%); color: #ffffff; border-radius: 12px; box-shadow: 0 12px 30px rgba(19,44,73,0.28); border: 1px solid rgba(255,255,255,0.06); }
            .workshop-card .card-body { padding: 18px 20px; }
            .workshop-card .stat-head { align-items:flex-start; }
            .workshop-card .stat-icon { width:52px; height:52px; border-radius:10px; background: rgba(255,255,255,0.12); display:inline-flex; align-items:center; justify-content:center; box-shadow: 0 6px 18px rgba(2,6,23,0.06); }
            .workshop-card .stat-icon svg { width:22px; height:22px; fill: #ffffff; opacity: .95; }
            .workshop-card h6 { color: rgba(255,255,255,0.95); font-weight:700; margin:0; }
            .workshop-value { font-size: 1.8rem; font-weight:800; color:#ffffff; margin-top:6px; letter-spacing:-0.02em; }
            .workshop-sub { color: rgba(255,255,255,0.9); opacity:0.9; font-size:0.94rem; }
            .workshop-badge { background: rgba(255,255,255,0.12); color:#ffffff; padding:6px 10px; border-radius:999px; font-weight:700; }
            /* Employee stat card (modern, #137cc1 accent) */
            .employee-card { background: linear-gradient(135deg, rgba(19,124,193,0.14) 0%, rgba(19,124,193,0.08) 100%); color: #071133; border-radius: 12px; }
            .employee-card .card-body { padding: 16px 18px; }
            .employee-card .stat-icon { width:48px; height:48px; border-radius:10px; background: rgba(19,124,193,0.12); display:inline-flex; align-items:center; justify-content:center; }
            .employee-card h6 { color: #071133; font-weight:700; margin:0; }
            .employee-value { font-size:1.6rem; font-weight:800; color:#071133; margin-top:6px; }
            .employee-sub { color: #275a7d; font-size:0.95rem; }
            .employee-badge { background: #137cc1; color:#ffffff; padding:6px 10px; border-radius:999px; font-weight:700; }
            /* Avg employees per shop card - hero blue variant to match workshop card */
            .avg-card { background: linear-gradient(135deg, #137cc1 0%, #1f8dd6 60%); color: #ffffff; border-radius: 12px; box-shadow: 0 12px 30px rgba(19,44,73,0.18); border: 1px solid rgba(255,255,255,0.06); }
            .avg-card .card-body { padding: 18px 20px; }
            .avg-card .stat-icon { width:52px; height:52px; border-radius:10px; background: rgba(255,255,255,0.12); display:inline-flex; align-items:center; justify-content:center; box-shadow: 0 6px 18px rgba(2,6,23,0.06); }
            .avg-card .stat-icon svg { width:22px; height:22px; fill: #ffffff; opacity: .95; }
            .avg-card h6 { color: rgba(255,255,255,0.95); font-weight:700; margin:0; }
            .avg-value { font-size:1.6rem; font-weight:800; color:#ffffff; margin-top:6px; letter-spacing:-0.02em; }
            .avg-sub { color: rgba(255,255,255,0.9); font-size:0.94rem; }
            .avg-badge { background: rgba(255,255,255,0.12); color:#ffffff; padding:6px 10px; border-radius:999px; font-weight:700; }
            /* Chart hero variant for prominent chart cards */
            .chart-hero { background: linear-gradient(135deg, #137cc1 0%, #1f8dd6 60%); color: #ffffff; border-radius: 12px; box-shadow: 0 14px 36px rgba(19,44,73,0.22); border: 1px solid rgba(255,255,255,0.06); }
            .chart-hero .card-body { padding: 18px 20px; }
            .chart-hero .card-title { color: #ffffff; font-weight:700; }
            /* Ensure chart containers have transparent backgrounds and light text where needed */
            .chart-hero #jobRoleChart, .chart-hero #avgByRoleChart { background: transparent; }

            /* Professional filter toolbar */
            .filter-toolbar { 
                display: flex; 
                align-items: center; 
                gap: 14px; 
                background: var(--card-bg);
                border: 1px solid rgba(15,23,42,0.06);
                border-radius: 12px; 
                padding: 12px 16px; 
                box-shadow: 0 8px 24px rgba(15,23,42,0.06);
                margin: 10px 0 18px;
            }
            .filter-icon { 
                width: 36px; height: 36px; 
                display: inline-flex; align-items:center; justify-content:center; 
                border-radius: 10px; 
                background: linear-gradient(135deg, rgba(19,124,193,0.14), rgba(19,124,193,0.08));
                box-shadow: 0 6px 16px rgba(19,44,73,0.08);
                color: #137cc1;
            }
            .filter-label { font-weight: 700; color: #0b2033; letter-spacing: .2px; }
            .filter-subtle { color: var(--muted); font-size: .9rem; }
            .filter-select { 
                min-width: 260px; 
                border-color: rgba(19,124,193,0.25);
                background-color: #fff; 
            }
            .filter-select:focus { 
                border-color: #137cc1; 
                box-shadow: 0 0 0 .2rem rgba(19,124,193,0.15);
            }
            .reset-link { 
                color: #137cc1; 
                text-decoration: none; 
                font-weight: 700; 
                padding: 6px 10px; 
                border-radius: 8px; 
                transition: background-color .2s ease; 
            }
            .reset-link:hover { background: rgba(19,124,193,0.08); }

            /* Section header for chart groups */
            .section-header {
                display: flex;
                align-items: center;
                justify-content: space-between;
                background: var(--card-bg);
                border: 1px solid rgba(15,23,42,0.06);
                border-radius: 12px;
                padding: 12px 16px;
                box-shadow: 0 8px 24px rgba(15,23,42,0.06);
                margin: 14px 0 8px;
            }
            .section-title { display:flex; align-items:center; gap:12px; }
            .section-icon { 
                width: 36px; height: 36px; 
                display:inline-flex; align-items:center; justify-content:center; 
                border-radius: 10px; 
                background: linear-gradient(135deg, rgba(19,124,193,0.14), rgba(19,124,193,0.08));
                box-shadow: 0 6px 16px rgba(19,44,73,0.08);
                color: #137cc1;
            }
            .section-subtitle { color: var(--muted); font-size: .92rem; }