/*
    login
*/

.card-title-sign {
    height: 90px;
}

/* 
    general bg status for td
*/

.box-search {
    background-image: url('/assets/main/img/bg-box-search.png');
    background-repeat: no-repeat;
    background-position: top 10px center;
}

.with-bg {
    background-position: bottom right;
    background-repeat: no-repeat;
    /*transform: rotate(30deg);*/
}

.color-white {
    color: White;
}

.color-light-gray {
    color: #afafaf;
}


/* 
    coutry/service status
*/
.row-active {
    background-image: url('/assets/main/img/bg-row-active.png');
}

.row-deactive {
    background-image: url('/assets/main/img/bg-row-deactive.png');
}


/*
    tracking status
*/

.status-delivered {
    background-image: url('/assets/main/img/tracking/bg-status-delivered.png');
}

.status-transit {
    background-image: url('/assets/main/img/tracking/bg-status-transit.png');
}

.status-new {
    background-image: url('/assets/main/img/tracking/bg-status-new.png');
}

.status-shipped {
    background-image: url('/assets/main/img/bg-status-shipped.png');
}

.status-row-deactive {
    background: #f3c2c2 !important;
}


/*
    location
*/

.block-label {
    background-color: #F0F0F0;
}

#shipment-detail-root .separator {
    width: 100%;
    height: 10px;
    border-bottom: 1px solid #EAEAEA;
    margin-bottom: 17px;
}

.accordion-item {
    border: 1px solid #EAEAEA;
}


/*
    helpers
*/

.success {
    color: green
}

.error {
    color: #C10000
}

label.error {
    margin-top: 5px;
    line-height: 13px;
}


.card-footer {
    padding: 1rem 1rem;
}

.row-odd {
    background: #EAEAEA;
}

.row-even {
    background: White;
}

.col-shipment-totals {
    flex: 0 0 300px;
    background-color: #FFFFCC;
    border-radius: 0 0 5px 5px;
    padding: 1rem 1rem;
    margin-top: 5px;
    margin-right: 12px;
}

.shipment-item-button {
    display: flex;
    /* align-items: right; */
    justify-content: flex-end;
}

.form-label.good {
    background: #808080;
    color: White;
    padding: 3px 10px;
    border-radius: 5px;
}

.label-item-col-big {
    float: left;
    width: 210px;
    text-overflow: ellipsis;
}

.label-item-col {
    float: left;
    width: 70px;
}

.k-popup .k-focus {
    background-color: #ffe993;
    border-bottom: 1px solid #cecece !important;
}

.k-popup .k-list-item {
    border-bottom: 1px solid #cecece;
}

.form-complete {
    background-color: Green !important;
}

.form-incomplete {
    background-color: Red !important;
}

.badge-w25 {
    width: 25px !important;
}

/*
.card-header {
    background-color: #e2e2e2 !important;
}
*/

.table tbody td {
    vertical-align: middle;
}

.accordion-status {
    margin-left: 5px;
    font-size: 0.65em !important;
    letter-spacing: normal;
}

/*
.accordion-status {
    padding: 5px 2px;
    font-size: 12px;
    font-weight: 600;
    color: White;
    margin-left: 5px;
    border-radius: 5px;
    background-color: #C10000   
}
*/

.nav-tabs li.active .nav-link,
.nav-tabs li.active .nav-link:hover,
.nav-tabs li.active .nav-link:focus {
    color: #646464 !important
}

.nav-tabs li .nav-link,
.nav-tabs li .nav-link:hover {
    color: #898989 !important
}

.document-dropzone {
    margin-top: 20px;
    width: 100%;
    border: 2px solid #EAEAEA;
    height: 110px;
    background-image: url(/assets/main/img/trascina-qui.png);
    background-repeat: no-repeat;
    background-position: center center;
}

.upload-bar {
    height: 18px;
    background: green;
}

/*
    better display tabs into a modal
*/

.modal-dialog .tab-content {
    border: 0px !important;
    box-shadow: none !important;
}

.underline {
    text-decoration: underline !important;
}

.underline-external {
    text-decoration: underline !important;
}

.underline-external:after {
    content: '\2197';
    position: relative;
    right: -4px;
    background: #a5a5a5;
    color: White;
    padding: 0 3px;
    font-size: 11px;
    border-radius: 5px;
}

h1 {
    margin-top: 0px !important;
    margin-bottom: 25px !important;
}


/* 
    search address in google 
*/

.infowindow-content .title {
    font-weight: bold;
}

.infowindow-content {
    display: none;
}

.location-map .infowindow-content {
    display: inline;
}

.pac-container {
    padding-bottom: 12px;
    margin-right: 12px;
    z-index: 9999999 !important;
}

.pac-controls {
    display: inline-block;
    padding: 5px 11px;
}

.pac-input {
    text-overflow: ellipsis;
}

.pac-input:focus {
    border-color: #4d90fe;
}

.location-map {
    height: 300px;
    border: 1px solid #eaeaea;
}

/* 
    // search address in google 
*/

/* remove close "x" button in infowindow map */
.gm-style-iw button {
    display: none !important;
}

.header-right {
    width: 700px !important;
}

.header .search {
    width: 200px !important;
}

.userbox {}

/*
    loader page
*/

#loader-wide-page {
    background-color: #000;
    height: 100vh;
    width: 100%;
    z-index: 99999;
    position: absolute;
    opacity: .7;
    transition: opacity .15s linear;
}

.loader-page {
    position: absolute;
    top: 50%;
    right: 50%;
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid #3498db;
    width: 120px;
    height: 120px;
    -webkit-animation: spin 2s linear infinite;
    /* Safari */
    animation: spin 2s linear infinite;
}

/* Safari */
@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/*
    // loader page
*/

.credit-card-list img.credit-card {
    border: 1px solid #868686;
    border-radius: 5px;
}

.credit-card-containter {
    border: 1px solid #008814;
    border-radius: 8px;
    padding: 25px 8px 20px 8px;
    display: flex;
    justify-content: center;
    margin-left: 8px;
}

.credit-card-list .secure-payments {
    background-color: White;
    text-align: center;
    padding: 0 10px;
    font-size: 11px;
    font-weight: bold;
    margin-bottom: 40px;
    color: #008814;
    text-transform: uppercase;
    width: 200px;
    margin-left: auto;
    margin-right: auto;
    margin-top: -90px;
    margin-bottom: 60px;
}

.pallet-pointer {
    width: 25px;
    height: 25px
}

.pallet-pointer-delivering {
    background-color: #3498db;
}

.pallet-pointer-arriving {
    background-color: #f99245;
}

.field-error-message {
    height: 20px;
}

.form-group+.form-group {
    border-top: none !important;
}

.widget-summary-col h4 {
    padding-bottom: 20px !important;
}

.widget-summary-col .amount {
    font-size: 46px !important;
}


/*
    report
*/

.select-width-200 {
    width: 200px;
}

.kpi-container {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.kpi-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px 10px;
    /* margin: 10px; */
    text-align: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    vertical-align: baseline;
    display: table-cell;
}

.kpi-value {
    font-size: 2.5em;
    font-weight: bold;
    color: #2e8b57;
    margin-bottom: 10px;
}

.kpi-label {
    font-size: 1.1em;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.dashboard-section {
    margin-bottom: 40px;
}

.chart-container {
    height: 400px;
    margin-top: 20px;
}

.report-filters-panel {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 30px;
}

.report-section-separator {
    color: #6c757d;
    font-size: 22px;
    letter-spacing: 6px;
}

/* Table container styles for reports */
.report-table-container {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-top: 20px;
}

.report-table-container .table {
    margin-bottom: 0;
}

.report-table-container .table th {
    border-top: none;
    background-color: #343a40;
    color: white;
    font-weight: 600;
    padding: 12px 8px;
}

.report-table-container .table td {
    padding: 10px 8px;
    vertical-align: middle;
}

.report-table-hover tbody tr:hover {
    background-color: #f8f9fa;
}

/* Badge styles for reports */
.report-badge-success {
    background-color: #28a745;
}

.report-badge-warning {
    background-color: #ffc107;
    color: #212529;
}

.report-badge-secondary {
    background-color: #6c757d;
}

.legend-section {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 5px;
    border: 1px solid #dee2e6;
}

.legend-items {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
}

.legend-color {
    width: 16px;
    height: 16px;
    border-radius: 3px;
    border: 1px solid #ccc;
}

.map-container {
    border: 1px solid #dee2e6;
    border-radius: 5px;
    background: #f8f9fa;
}

.select-width-200 {
    width: 200px !important;
}

.report-section-separator {
    color: #6c757d;
    font-size: 24px;
    letter-spacing: 3px;
    text-transform: uppercase;
}

/* Responsività per tablet e mobile */
@media (max-width: 768px) {
    .legend-section {
        margin-top: 20px;
    }

    .legend-items {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .kpi-card {
        margin-bottom: 15px;
    }
}

.report-group-section-separator {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 32px 0;
    width: 100%;
    color: #9c9c9c;
    font-size: 1.1em;
    text-transform: uppercase;
}

.report-group-section-separator::before,
.report-group-section-separator::after {
    content: "";
    flex: 1;
    border-bottom: 1px solid #ccc;
    margin: 0 16px;
}

.report-group-section-separator-title {
    font-weight: 600;
    color: #939393;
    background: #fff;
    padding: 0 12px;
    font-size: 1.10em;
}

/*
    // report
*/

h2 span.badge {
    font-size: 14px !important;
}