﻿:root {
    --main-text-color: #6C757D;
    --light-gray: rgba(237, 237, 237, 1);
    --light-gray-hover: #0000001a;


    --main-color: #008374; 
    --main-color-rgb: 0, 131, 116; 
    --main-on-color: #ffffff; 

    --main-color-hover: color-mix(in srgb, var(--main-color), black 12%);
    --main-color-active: color-mix(in srgb, var(--main-color), black 20%);
    --main-color-disabled: color-mix(in srgb, var(--main-color), white 45%);
}

@supports not (color: color-mix(in srgb, black, white)) {
    :root {
        --main-color-hover: #007668;
        --main-color-active: #00695D;
        --main-color-disabled: #66B5AC;
    }
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
    border-radius: 10px;
}

::-webkit-scrollbar-track {
    background: #F2F2F2;
}

::-webkit-scrollbar-thumb {
    background: #BDBDBD;
    border-radius: 10px
}

    ::-webkit-scrollbar-thumb:hover {
        background: #6E6E6E;
    }

.alert {
    border: 1px solid #8080803d;
    border-radius: .25rem !important;
    color: #595e63;
    left: 50%;
    padding: 2.5rem 2rem !important;
    position: absolute;
    transform: translate(-50%, -50%);
}

a.nav-link, .navbar-brand {
    color: rgba(255,255,255,.6) !important;
    font-size: 16px;
    font-weight: 600;
    transition: .3s;
}

a.nav-link {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 5px;
    margin-right: 5px;
    position: relative;
    text-decoration: none;
}

    a.nav-link:hover, a.nav-link.active {
        color: white !important;
    }

        a.nav-link::before, a.nav-link.active::before {
            content: '';
            position: absolute;
            width: 0;
            height: 2px;
            bottom: 4px;
            left: 0;
            background-color: #f85a40;
            transition: width 0.5s ease;
        }

        a.nav-link:hover::before, a.nav-link.active::before {
            width: 100%;
        }

.delete-row:hover {
    background-color: var(--light-gray-hover);
    transition: 0.4s ease;
}

.delete-row {
    transition: 0.4s ease;
}

/* Input Number */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance: textfield;
}
/**/

.last-nav-item {
    border-right: 3px solid rgba(255,255,255,.6);
}

.modal-body {
    padding-right: 12px;
    padding-left: 12px;
}

.navbar-brand {
    color: white !important;
    font-size: 25px !important;
}

.profile-nav {
    --bs-nav-pills-link-active-bg: transparent !important;
}

    .profile-nav > .nav-item {
        border-bottom: 2px solid white;
    }

        .profile-nav > .nav-item:last-child {
            border-bottom: none;
        }

        .profile-nav > .nav-item > .nav-link.active::before {
            display: none
        }

        .profile-nav > .nav-item > .nav-link:hover::before {
            display: none
        }
        
.report-link:hover > .row {
    background-color: var(--light-gray-hover);
    color: var(--main-text-color);
    transition: 0.4s ease;
}

.report-link > .row {
    transition: 0.4s ease;
}

.secondary-project-title {
    position: absolute;
    top: -10px;
    max-width: 30ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.task-card {
    transition: 0.3s ease;
}

    .task-card:hover {
        box-shadow: 0 0 1.5rem 0 rgba(41, 48, 66, 0.2);
        transform: scale(1.05);
    }

.task-card-description {
    white-space: unset;
    /*max-height: calc(var(--bs-body-line-height) * 2);*/
    max-height: calc(21.45px * 3);
}

/*CSS per upload file*/
#previewContainer {
    background-color: aliceblue;
    min-height: 125px;
    border: solid 1px lightgrey;
}

.uploader:hover {
    box-shadow: rgba(3, 102, 214, 0.3) 0px 0px 0px 3px;
    transition: box-shadow 0.3s ease-in-out;
}

.prev {
    height: 150px;
    width: 150px;
    margin-right: 20px;
    margin-top: 20px;
    margin-bottom: 10px;
    border: solid 1px grey;
    border-radius: 10px;
    background-color: white;
    object-fit: contain;
    box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
}

.prevFile {
    height: 150px;
    width: 150px;
    margin-right: 20px;
    margin-top: 20px;
    margin-bottom: 10px;
    border: solid 1px grey;
    border-radius: 10px;
    background-color: white;
    font-size: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
}

.imageContainer {
    position: relative;
    display: inline-block;
    text-align: center;
    cursor: pointer;
}

.prevBtn {
    position: absolute;
    background-color: red;
    color: white;
    border: none;
    border-radius: 80%;
    top: 7px;
    right: 4px;
    padding: 5px 10px 5px 10px;
    cursor: pointer;
}

.ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 150px;
}


details .chevron {
    transition: transform .15s ease;
}

details[open] .chevron {
    transform: rotate(90deg);
}

.visibility-hidden{
    visibility: hidden;
}

/* sfondo giorno */
.fill-lightgreen {
    background-color: #d4f7d4;
    --bs-table-bg: #d4f7d4;
}
/* verde chiaro */
.fill-red {
    background-color: #ffd6d6;
    --bs-table-bg: #ffd6d6;
}
/* rosso chiaro */
.fill-none {
    background-color: transparent;
    --bs-table-bg: transparent;
}

.reports-table td.report-day {
    min-width: 120px;
}

/* segnaposto report (pallini) */
.report-marker {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,.1);
}

/* colori segnaposto */
.marker-gray {
    background-color: #bdbdbd;
}

.marker-lightblue {
    background-color: #87ceeb;
}

.marker-green {
    background-color: #4caf50;
}

.marker-yellow {
    background-color: #ffd54f;
}

.marker-red {
    background-color: #e53935;
}

/* legenda */
.legend-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin: 0 6px 0 10px;
    vertical-align: middle;
    border: 1px solid rgba(0,0,0,.1);
}


/* Card utente + KPI */
.user-card {
    border: 1px solid #e6e6e6;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.user-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    border-bottom: 1px solid #eee;
    background: #fafafa;
}

.user-card__title .user-name {
    font-weight: 600;
}

.user-card__title .user-sub {
    font-size: .9rem;
    color: #6c757d;
}

.kpis {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.kpi {
    display: flex;
    gap: 6px;
    align-items: baseline;
}

    .kpi .kpi-label {
        color: #6c757d;
        font-size: .85rem;
    }

/* Calendario 7 colonne */
.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(120px, 1fr));
    gap: 8px;
    padding: 12px;
}

@media (max-width: 1400px) {
    .calendar-grid {
        grid-template-columns: repeat(7, minmax(100px,1fr));
    }
}

@media (max-width: 992px) {
    .calendar-grid {
        grid-template-columns: repeat(7, minmax(80px,1fr));
    }
}

.dow {
    text-transform: uppercase;
    font-size: .75rem;
    color: #6c757d;
}

/* Celle giorno + sfondi */
.day-cell {
    position: relative;
    min-height: 92px;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 8px 8px 6px 8px;
    background: #fff;
}

    .day-cell.disabled {
        background: transparent;
        border-color: transparent;
    }

    .day-cell.weekend {
        opacity: .9;
    }

.fill-lightgreen {
    background-color: #dff6df;
}

.fill-red {
    background-color: #ffe0e0;
}

.fill-none {
    background-color: #ffffff;
}

.day-num {
    position: absolute;
    top: 6px;
    left: 8px;
    font-weight: 600;
}

.ratio-chip {
    position: absolute;
    top: 6px;
    right: 8px;
    font-size: .75rem;
    padding: 2px 6px;
    border-radius: 999px;
    background: rgba(0,0,0,.05);
    color: #333;
}

.mini-kpis {
    margin-top: 22px;
    display: flex;
    justify-content: space-between;
    font-size: .8rem;
    color: #6c757d;
}

.markers {
    margin-top: 6px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.report-marker {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,.15);
}

.day-empty {
    margin-top: 30px;
    text-align: center;
    color: #bbb;
    font-size: .9rem;
}

.marker-gray {
    background-color: #bdbdbd;
}

.marker-skyblue, .marker-lightblue {
    background-color: #87ceeb;
}

.marker-green {
    background-color: #2ecc71;
}

.marker-yellow {
    background-color: #ffd54f;
}

.marker-red {
    background-color: #e74c3c;
}

.legend .legend-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin: 0 6px 0 10px;
    vertical-align: middle;
    border: 1px solid rgba(0,0,0,.15);
}
