@charset "UTF-8";

:root {
    --tblr-font-size-h1: 2.5rem;
    --tblr-font-size-h2: 2rem;
    --tblr-font-size-h3: 1.5rem;
    --tblr-font-size-h4: 1rem;
    --tblr-font-size-h5: 0.85rem;
    --tblr-font-size-h6: 0.625rem;

    --tblr-gray-50: #f9fafb;
    --tblr-gray-100: #f3f4f6;
    --tblr-gray-200: #e5e7eb;
    --tblr-gray-300: #d1d5db;
    --tblr-gray-400: #9ca3af;
    --tblr-gray-500: #6b7280;
    --tblr-gray-600: #4b5563;
        --tblr-gray-700: #4780E6;
        --tblr-gray-800: #202F7A;
        --tblr-gray-900: #17204F;
    --tblr-gray-950: #030712;

        --tblr-brand: #4780E6;
        --tblr-primary: #4780E6;


    --tblr-btn-hover-color: var(--tblr-primary-fg);
    --tblr-btn-hover-bg: var(--tblr-primary-darken);
    --tblr-btn-active-color: var(--tblr-primary-fg);
    --tblr-btn-active-bg: var(--tblr-primary-darken);
    --tblr-btn-disabled-bg: var(--tblr-primary);
    --tblr-btn-disabled-color: var(--tblr-primary-fg);

    --bianco: #ffffff;
    --verde: #2fb344;
    --verde-dark: #278734;
    --border-bottom-color: #2A3D9D;
}
.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}

.ml-1 {
    margin-left: 10px;
}
.mb-7 {
    margin-bottom: 3rem !important;
}
.mb-8 {
    margin-bottom: 3.5rem !important;
}
.px-4-5 {
    padding-left: 1.25rem;
}
.big {
    font-size: 1.3rem;
}
table {
    width: 100%;
}
@media (min-width: 992px) {
    .col-lg-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-lg-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }
    .col-lg-6 {
        flex: 0 0 auto;
        width: 50%;
    }
}
@media (min-width: 1360px) {
    .col-xxl-6 {
        flex: 0 0 auto;
        width: 50%;
    }
}

h1,h2,h3,h4,h5,h6 {
    font-family: var(--tblr-body-font-family);
    margin-bottom: 1rem;
}
.btn-primary {
    background-color: var(--verde);
}
.btn-primary:hover {
    background-color: var(--verde-dark);
}
.btn-outline-secondary,
.btn-outline.btn-secondary {
    border-color: var(--bianco);
    color: var(--bianco);
    padding-left: .1rem;
    padding-right: .1rem;
}

.btn:hover {
    color: var(--bianco);
    background-color: var(--tblr-gray-700);
    border-color: var(--tblr-gray-700);
}
.markdown>table>:not(caption)>*>*,
.table>:not(caption)>*>* {
    border-bottom-color: var(--border-bottom-color);
}
.show-password {
    padding-left: 1rem !important;
}
.navbar-expand-lg.navbar-vertical {
    box-shadow: none;
}
.navbar-brand {
    padding-top: 0;
}
.navbar-brand img {
    width: 120px;
    height: 55px;
}
.login .navbar-brand img {
    width: 170px;
    height: 77px;
}
.page-title {
    margin-bottom: 1rem;
}
.avatar.avatar-sm {
    background-size: 22px;
    background-color: var(--verde);
}
.nome_utente {
    color: var(--bianco);
}
.navbar-toggler-icon {
    height: 3px;
    width: 1.65rem;
    margin-left: 5px;
    background-color: #fff;
    opacity: 1;
}
.navbar-toggler-icon:before {
    top: -.5em;
}
.navbar-toggler-icon:after {
    bottom: -.5em;
}
#sidebar-menu a.nav-link {
    color: var(--bianco);
}
#sidebar-menu a.nav-link:hover,
#sidebar-menu a.nav-link.show,
#sidebar-menu a.nav-link.current {
    background-color: var(--tblr-gray-700);
    color: var(--bianco);
}
.dropdown-item:focus, .dropdown-item:hover {
    background-color: transparent;
    color: var(--tblr-gray-700) !important;
}

.form-control.short {
    max-width: 80px;
}
.relative {
    position: relative;
}
.goto-ref {
    position: absolute;
    top: -2.65rem;
    right: 0rem;
    background-color: var(--bianco);
    border-radius: 3px;
    color: var(--tblr-gray-700);
    font-size: .8rem;
    padding: .2rem .3rem .12rem;
    text-decoration: none !important;
    line-height: 1;
}
.goto-ref:hover {
    background-color: var(--tblr-gray-700);
    color: var(--bianco);
}
.alert-danger {
    color: var(--tblr-danger);
}
.login .alert-icon {
    transform: translateY(3px);
}
@media (min-width: 992px) {
    .navbar-brand img {
        width: 140px;
        height: 64px;
        margin-top: 10px;
    }
    .navbar-user-profile {
        margin: 1.35rem 0 1rem;
        padding-left: .32rem;
    }
}


body.up .card-header.fixed {
    position: fixed;
    top: 0;
    background-color: var(--tblr-gray-900);
    z-index: 1;
    padding-bottom: 0 !important;
    margin-left: -2px;
}
.card-header-tabs .nav-link {
    font-weight: 700;
    color: #fff;
}
.card-header-tabs .nav-link.active {
    background-color: var(--tblr-border-color);
}
.card-header-tabs {
    border-bottom: 1px solid var(--tblr-border-color) !important;
}

label.block {
    display: block;
    white-space: nowrap;
}
label.block input[type=checkbox] {
    float: left;
    margin-right: 6px;
}
#archivio-impianti .amministratore {
    max-width: 250px;
}
#archivio-impianti .zona {
    max-width: 150px;
}
@media (min-width: 1280px) {
    #archivio-impianti .right > div {
        justify-content: flex-end;
    }
}

.markdown>table thead th, .table thead th {
    color: var(--bianco);
}
.ui-widget {
    font-family: var(--tblr-body-font-family) !important;
    font-size: .9rem !important;
}
.ui-widget-content {
    background: var(--tblr-bg-forms) !important;
}
.ui-widget.ui-widget-content {
    border:1px solid var(--tblr-bg-forms) !important;
    border-radius: var(--tblr-border-radius) !important;
}
.ui-menu .ui-menu-item-wrapper {
    padding: 5px .8rem 5px 1rem !important;
    border-radius: var(--tblr-border-radius) !important;
}
.ui-menu .ui-menu-item-wrapper.ui-state-active {
    background: var(--tblr-gray-800) !important;
    font-weight: 400 !important;
    color: var(--bianco) !important;
}

@media (max-width: 767px) {
    /* Trasformazione Tabella in Blocchi */
    .table-vcenter, .table-vcenter thead, .table-vcenter tbody, .table-vcenter tr, .table-vcenter td {
        display: block;
        width: 100%;
    }

    .table-vcenter thead {
        display: none; /* Nasconde la testata classica */
    }

    .table-vcenter tr {
        margin-bottom: 20px;
        border: none
        border-radius: 6px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }

    .table-vcenter td {
        position: relative;
        padding-left: 40% !important; /* Spazio per l'etichetta a sinistra */
        text-align: left;
        border: none;
        border-bottom: 1px solid var(--tblr-gray-700);
        min-height: 45px;
        display: flex;
        align-items: center;
    }

    /* Inserimento etichetta dinamica */
    .table-vcenter td::before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        width: 35%;font-size: .75rem;
        font-weight: var(--tblr-font-weight-medium);
        text-transform: uppercase;
        letter-spacing: .04em;
        color: var(--bianco);
        text-transform: uppercase;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Reset per l'ultima cella (quella del bottone) */
    .table-vcenter td:last-child {
        border-bottom: none;
    }

    /* Forza gli input a stare bene nel layout */
    .table-vcenter .form-control {
        width: 100%;
    }
}

.footer {
    color: var(--tblr-gray-400);
    padding-bottom: 0;
}

/* upload ad */
.ad-upload {
    border: 2px dashed #ccc;
    border-radius: 10px;
    padding: 40px;
    text-align: center;
    cursor: pointer;
    transition: 0.3s;
    position: relative;
}

.ad-upload.dragover {
    border-color: #007bff;
    background: #f1f7ff;
}

.ad-upload input {
    display: none;
}

.ad-upload-progress-container {
    margin-top: 20px;
    height: 20px;
    background: #eee;
    border-radius: 10px;
    overflow: hidden;
    display: none;
}

.ad-upload-progress-bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #007bff, #00c6ff);
    transition: width 0.2s ease;
}

.chart-container {
    margin-top: 2rem;
    margin-bottom: 2rem;
    max-width: 320px;
    margin-inline: auto;
}
.actions {
    text-align: right;
    white-space: nowrap;
}
