﻿.d-contents {
    display: contents !important;
}

p.lf {
    white-space: pre-line;
}


.quality-box{
    border:solid 1px #ccc;
    border-radius:3px !important;
}

.progress-bar {
    border: solid 1px #ccc;
    height: 15px;
    overflow: hidden;
    text-align: center;
    display: none;
}
.progress-bar > div{
    width:0px;
    background-color:forestgreen;
    color:#000;
}


.bg-transparent{
    background-color:transparent !important;
}



/*DRODOWN per le liste con ricerca*/
.select2-container {
    z-index: 2147483647;
}

.w-40{
    width:40%;
}
.w-45 {
    width: 45%;
}

.min-w-125px{
    min-width:125px;
}
.min-w-130px {
    min-width: 130px;
}
.min-w-135px {
    min-width: 135px;
}
.min-w-140px {
    min-width: 140px;
}

.hidden{
    display:none;
}

li.issue-element {
    border: solid 1px red;
    padding: 3px 10px;
    border-radius: 3px;
}

li label.text-disabled {
    opacity: 0.8;
    cursor: not-allowed;
}

.modal.custom-modal div.waiter-overlay {
    width: calc(100vw - 16px);
    background-color: black;
    height: 100%;
    opacity: 0.3;
    cursor: wait;
    position: fixed;
    bottom: 0px;
}



/*SORTABLE*/

/* Stile della riga mentre viene trascinata */
table tbody.sortable tr.dragging {
    background-color: #f0f0f0;
    opacity: 0.8;
}

/* Cursor di default per i tr */
table tbody.sortable tr {
    cursor: move;
}

/* Stile della riga di destinazione durante il drag over */
table tbody.sortable tr.over {
    border-top: 2px solid #ff0000; /* Evidenzia il bordo superiore */
}
/*END OF SORTABLE*/

span.forwarder-head-info{
    display:inline-block;
    width:auto;
    border:solid 1px purple;
    border-radius:3px;
    color:#333;
}

span.forwarder-head-info:empty{
    display:none;
}

label.check-label {
    color: blue;
}
label.check-label input[type='checkbox'] {
    width: 20px;
    height: 20px;
    vertical-align: bottom;
}

.form-control.form-control-solid {
    border: solid 1px #999 !important;
    border-radius: 5px;
    appearance: button !important;
}

.modal-body {
    font-size: 14px;
    word-wrap:break-word;
}

.menu-item .menu-link {
    padding: .15rem .5rem !important;
    margin-bottom:.5rem !important;
}

ul.report-details{
    border-style:solid !important;
    border-width:1px !important;
}

/*div.percent-background {
    border: solid 1px #000;
    transform: rotate(180deg) !important;
}
div.percent-background div {
    height:1% !important;
    display:block;
    border:none;
}

div.percent-background > div > div.percent-value{
    display:block !important;
    height:100% !important;    
    margin:0px !important;
    padding:0px !important;
}
div.percent-background > div > div.percent-spacer {
    display:none !important;
    margin:0px !important;
    padding:0px !important;
    height: 40% !important;
    display: block;
    background-color:transparent !important;
}*/
div.user-menu-block:hover {
    background-color: var(--bs-info-light) !important;
}

div.user-menu-block {
    border:solid 1px #000 !important;
}
div.user-menu-block i {
    color: darkblue !important;
}


tr.pt-3 td {
    padding-top: .75rem !important;
}



input.gray-focus:focus {
    background-color: #f8f5ff;
    border:solid 1px #000 !important;
}

input.datepicker {
    width: 114px;
}
.datepicker.datepicker-dropdown.dropdown-menu {
    padding: 10px;    
}
.datepicker.datepicker-dropdown.dropdown-menu .datepicker-days {
    font-size: 16px;    
}
.datepicker.datepicker-dropdown.dropdown-menu .datepicker-days td {
	padding: 0px 15px 0px 15px;
	font-size: 18px;
	font-weight: 500;
}

.datepicker.datepicker-dropdown.dropdown-menu .datepicker-days th.today,.datepicker.datepicker-dropdown.dropdown-menu .datepicker-days th.clear {
    padding:10px 0px;
}

.datepicker.datepicker-dropdown.dropdown-menu .datepicker-switch {
    font-size: 28px;
}



.form-group > label:first-child{
    font-weight:500;
    display:block;
}

.form-control.required {
    background-color: var(--bs-danger-light) !important;
}

.form-control.error {
    background-color: var(--bs-danger-border-subtle) !important;
}

.form-control.required[readonly] {
    /*background-color: var(--bs-gray-100) !important;*/
}

/*.form-control.required.error::after{
     content: 'Errore: Il campo non è valido.';
    color: red;
    font-size: 12px;
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 5px;
}
*/

.fs-classic {
    border: solid 1px #ccc;
    padding: 10px;
    border-radius: 3px;
}

.fs-classic legend {
	display: inline-block;
	margin-top: -22px !important;
	background-color: #fff;
	width: auto;
	padding: 0px 5px;
	margin-bottom: 15px !important;
}

.text-right{
    text-align:right !important;
}

div.main-loading-element {
    position: fixed;
    width: calc(100vw);
    height: calc(100vh);
    text-align: center;
    z-index: 100000;
    left: 0;
    top: 0;
}
div.main-loading-element > .overlay{
    position: fixed;
    width: calc(100vw);
    height: calc(100vh);
    background-color: #000;
    text-align: center;
    opacity: 0.4;    
    left: 0;
    top: 0;
}
div.main-loading-element .loading-inner {
    position:absolute;
    top: calc(50vh - 25px);
    z-index: 100001;    
    width: 100%;
    text-align:center;
}

div.main-loading-element .loading-inner i{
    font-size:50px;
    display:inline-block;
    /*color:#fff;*/
    margin-right:10px;
}
div.main-loading-element .loading-inner p{
    font-size:38px;
    display:inline-block;
    /*color:#fff;*/
}



.form-control.w-auto, .form-select.w-auto {
    width: auto !important;
    max-width: 100% !important;
}

ul.simple li{
    list-style-type:none;
}


ul.inline li{
    list-style-type:none;
    display:inline-block;
}

p.explain {
    background-color: #e7f1ff;
    border:solid 1px #ddd;
    border-radius:5px;
}

.tooltip-inner{
    text-align:left;
}

.pointer{
    cursor:pointer !important;
}
.no-pointer{
    cursor:default !important;
}


.v-top {
    vertical-align: top !important;
}

table.v-top td, table.v-top th{
    vertical-align:top !important;
}
table.v-middle td, table.v-middle th {
    vertical-align: middle !important;
}

.orange {
    color: orange !important;
}

.red{
    color:red !important;
}

.green{
    color:green !important;
}

.gray{
    color:lightgray !important;
}


.fs-10 {
    font-size: 10px !important;
}

.fs-11 {
    font-size: 11px !important;
}

.fs-12 {
    font-size: 12px !important;
}

.fs-13 {
    font-size: 13px !important;
}

.fs-14 {
    font-size: 14px !important;
}

.fs-16 {
    font-size: 16px !important;
}

.fs-18 {
    font-size: 18px !important;
}

.fs-20 {
    font-size: 20px !important;
}

.fs-22 {
    font-size: 22px !important;
}

.fs-24 {
    font-size: 24px !important;
}

.fs-26 {
    font-size: 26px !important;
}

.fs-28 {
    font-size: 28px !important;
}

.fs-18 {
    font-size: 18px !important;
}

.fs-30 {
    font-size: 30px !important;
}

.fs-32 {
    font-size: 32px !important;
}

.fs-34 {
    font-size: 34px !important;
}

.fs-40 {
    font-size: 40px !important;
}

.fs-100p {
    font-size: 100% !important;
}



label.btn-actions a {
    cursor: pointer !important;
    text-decoration: underline !important;
    font-weight: normal;
    margin-left:3px;
}

.menu-item .menu-link {
    padding: .15rem 1rem;
}

table.orders-table td{
    border:none !important;
    border-top:solid 1px #ccc !important;
}


.order-status-list li {
    list-style-type: none;
    display: inline-block;
    margin-right: 5px;
    cursor:pointer;
}
.order-status-list li i{
    color:inherit !important;
    font-size:24px;
}

.operator-hint {
    display: block;
    text-align: left;
    font-size: 12px;
    padding: 1px 2px;
    border-radius: 2px;
    border: solid 1px #ddd;
}

.operator-hint i{
    background-color:inherit !important;
    color:inherit !important;
}


.form-control.form-control-solid.search{
    height: 44px;
}
.select2-container--bootstrap5 .select2-dropdown .select2-results__option {
    padding: .25rem 1.25rem;
}

.select2-container--bootstrap5 .select2-dropdown {
    width:600px !important;
}


.border-left-danger {
    border-left: solid 4px var(--bs-text-danger) !important;
}

.border-left-success {
    border-left: solid 4px var(--bs-text-success) !important;
}

div.bootstrap-tagsinput {
    border: solid 1px #ccc;
    border-radius: 1px;
    min-height: 50px;
    padding: 12px;
}

.bootstrap-tagsinput .tag {
    margin-right: 2px;
    color: white;
    background-color: var(--bs-primary) !important;
    padding: 2px 10px 4px 10px;
    border-radius: 3px;
}

.tt-suggestion.tt-selectable.tt-cursor {
    background-color:#ccc;
    color:#000;
}



@media (min-width: 992px) {
    .content {
        padding: 10px 0;
        border-radius: 1.5rem;
    }
    .toolbar-enabled .content .toolbar {
        padding-bottom: 10px;
    }
}


@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 100%;
    }
}


div.qe-box{
    border:solid 1px #ccc;
    border-radius:5px;
    padding:10px;
}



/*TANK*/
.page-tanks {
    background: #f5f7fb;
    margin: 24px;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Arial, sans-serif;
    color: #1f2937;
}

    /* CARD */
    .page-tanks .tank-card {
        width: 310px;
        max-width: 100%;
        background: #fff;
        border-radius: 16px;
        box-shadow: 0 8px 24px rgba(0,0,0,.08);
        padding: 18px 18px 14px;
        border: 1px solid #e5e7eb;
    }

    /* HEADER */
    .page-tanks .tank-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 6px;
    }

    .page-tanks .tank-title {
        font-weight: 700;
        font-size: 1.15rem;
    }

    .page-tanks .tank-sub {
        color: #6b7280;
        font-size: .9rem;
        margin-top: 2px;
    }

    .page-tanks .pill {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: .8rem;
        font-weight: 600;
        color: #a16207;
        background: #fff8e1;
        padding: 6px 10px;
        border-radius: 999px;
        border: 1px solid #fde68a;
        white-space: nowrap;
    }

    .page-tanks .dot {
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: #f59e0b;
    }

    /* SERBATOIO */
    .page-tanks .tank {
        position: relative;
        height: 150px;
        margin: 10px 0 14px;
        border-radius: 12px;
        border: 2px solid #c9d2e0;
        background: linear-gradient(#eef2f7,#dfe6ee);
        overflow: hidden;
    }

        .page-tanks .tank .fill {
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            background: linear-gradient(#22c55e,#16a34a);
        }

        .page-tanks .tank::before {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(to bottom, rgba(255,255,255,.45) 0 2px, transparent 2px 33.33%) 0 0/100% 33.33%;
            pointer-events: none;
        }

    .page-tanks .badge {
        position: absolute;
        right: 10px;
        top: 10px;
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 999px;
        padding: 6px 10px;
        font-weight: 700;
        font-size: .85rem;
        box-shadow: 0 2px 10px rgba(0,0,0,.06);
    }

    /* META DATI */
    .page-tanks .meta-inline {
        display: flex;
        flex-wrap: wrap;
        margin-top: 5px;
    }

    .page-tanks .meta-inline .label {
        font-weight: 600;
        color: #6b7280;
        display:block;
        width:100%;
        line-height:10px;
    }

    .page-tanks .meta-inline .value {
        font-weight: 700;
        margin-right: 12px;
    }

    /* FOOTER */
    .page-tanks .muted-foot {
        color: #94a3b8;
        font-size: .85rem;
        border-top: 1px solid #e5e7eb;
        padding-top: 5px;
        margin-top: 3px;
        display: flex;
        justify-content: space-between;
    }






/* ITALY MAP — confinato nel contenitore .italy-map */

/* Il wrapper non supererà mai lo spazio disponibile */
.italy-map {
    position: relative;
    inline-size: 100%;
    max-inline-size: 100%;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(0,0,0,.06);
    overflow: hidden;
    max-width: calc(100vh - 220px);
    margin: auto;
}
    /* L’immagine scala in modo fluido e determina l’altezza del wrapper */
    .italy-map .map-img {
        display: block;
        width: 100%;
        height: auto;
        max-width: 100%;
        user-select: none;
    }

    /* Hotspots in overlay: percentuali => si adattano automaticamente */
    .italy-map .hotspot {
        position: absolute;
        cursor: pointer;
        padding: 0;
        border: 0;
        outline: 2px dashed transparent;
        transition: filter .12s ease, outline-color .12s ease, background-color .12s ease;
        /*opacity: 0.4;*/
        background-color:transparent !important;
    }

        .italy-map .hotspot:hover {
            filter: brightness(1.03);
        }

        .italy-map .hotspot:focus-visible {
            outline-offset: 2px;
        }

        .italy-map .hotspot .tip {
            position: absolute;
            left: 50%;
            top: 14px;
            transform: translate(-50%, -100%);
            background: rgba(0,0,0,.75);
            color: #fff;
            padding: 3px 10px;
            border-radius: 8px;
            font-size: 12px;
            white-space: nowrap;
            opacity: 0;
            pointer-events: none;
            transition: opacity .15s ease;
        }

        .italy-map .hotspot:hover .tip,
        .italy-map .hotspot:focus-visible .tip {
            opacity: 1;
        }

    /* pannellino al click */
    .italy-map .area-content {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%);
        background: white;
        border: 1px solid #e5e7eb;
        border-radius: 10px;
        padding: 8px 10px;
        font-size: 13px;
        box-shadow: 0 4px 14px rgba(0,0,0,.08);
        max-width: 220px;
        max-height: 160px;
        overflow: auto;
    }
