body {
    /*font-family: 'Poppins', sans-serif;*/
}
.starter-template {padding: 40px 15px;text-align: center;}

.form-signin {
  max-width: 330px !important;
  width: 330px !important;
  padding: 15px 0;
  margin: 0 auto;
  margin-top:20px
}
.form-signin .form-signin-heading,
.form-signin .checkbox {margin-bottom: 10px;}
.form-signin .checkbox {font-weight: normal;}
.form-signin .form-control {
  position: relative;
  height: auto;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  padding: 10px;
  font-size: 16px;
  margin:6px 0
}
.form-signin .form-control:focus {z-index: 2;}
.form-signin input[type="email"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.form-signin input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.centered {max-width:330px;margin:0 auto}

.error {
	color:red;
	font-weight: 800;
	border:2px solid red;
}

button.pull-right{border-radius:50% !important;}

/* Stili per i bottoni di filtro nelle tabelle */
.filter-btn {
	background: none;
	border: none;
	padding: 0;
	margin: 0 8px;
	cursor: pointer;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.2s ease-in-out;
	color: #666;
	font-size: 16px;
}

.filter-btn:hover {
	color: #333;
}

.name-filter-cell:hover .filter-btn {
	opacity: 1;
}

#logo {
	max-width:330px;
	margin:0 auto;
	text-align:center;
	margin-top:30px;
}

#content{
	text-align:center;
	overflow:hidden;
}
.cur,.approve{cursor:pointer}
.approve{transition: all 0.2s ease-in-out;  -webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}
.approve:hover{filter: brightness(90%);}
.navbar-inverse{background-color:#554242}
.navbar-inverse .navbar-brand {color:#e8e2e2}
#top i.bi{font-size: 1.2em; transition: background-color 0.3s ease;border:0;color:silver;}
#top i:hover {color:white;}
#btn_darkmode:active, #toggleButton:active, #toggleButton i:active {background-color: var(--bs-border-color);border:0;color:black;}

body {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}
#main-content-wrapper {
    flex-grow: 1;
    display: flex;
}
#sidebar {
    width: 250px;
    flex-shrink: 0;
    padding: 20px;
    border-right: 1px solid #dee2e6;
    /* Stili aggiuntivi per un aspetto più simile a Phoenix */
    box-shadow: 2px 0 5px rgba(0,0,0,0.05); /* Leggera ombra */
    position: sticky; /* Rende la sidebar fissa allo scroll */
    top: 0; /* Si attacca in cima alla viewport */
    height: 100vh; /* Occupa l'altezza della viewport */
    overflow-y: auto; /* Permette lo scroll se il contenuto è lungo */
}
#sidebar .nav-link {
    padding: 10px 15px; /* Padding per le voci */
    color: #495057; /* Colore testo default */
    display: flex; /* Per allineare icone e testo */
    align-items: center;
    border-radius: 5px; /* Bordi leggermente arrotondati */
    margin-bottom: 5px;
}
#sidebar .nav-link:hover {
    background-color: #e2e6ea;
    color: #212529;
}
#sidebar .nav-link.active {
    background-color: #0d6efd; /* Colore primario di Bootstrap */
    color: white;
    font-weight: bold;
}
#sidebar .nav-link i {
    margin-right: 10px; /* Spazio tra icona e testo */
    font-size: 1.1em;
}
#sidebar .collapse-header {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#sidebar .collapse-header i.bi-chevron-down {
    transition: transform 0.3s ease;
}
#sidebar .collapse-header[aria-expanded="true"] i.bi-chevron-down {
    transform: rotate(180deg);
}
#sidebar .collapse .nav-link {
    padding-left: 35px; /* Indentazione per i sottomenu */
    font-size: 0.95em;
}

#content-area {
    flex-grow: 1;
    padding: 20px;
    overflow-y: auto; /* Se il contenuto principale è lungo */
}
footer {
    background-color: #343a40;
    color: white;
    text-align: center;
    padding: 15px 0;
    /* Se il footer non deve essere sticky, rimuovi margin-top: auto dal body e lascialo qui.
       Se il body è flex-column e #main-content-wrapper ha flex-grow:1, il footer andrà automaticamente in fondo. */
}

#sidebar.hidden {
    display:none;
}
.content {
    margin-left: 250px; /* Larghezza della barra laterale */
    transition: margin-left 0.3s ease;
}
.content.collapsed {
    margin-left: 0; /* Margine quando la barra laterale è nascosta */
}
.clockpicker-popover {position: absolute}

.bootbox-close-button {display:none}
.bootbox-body{padding-top:24px}
.bootbox .modal-header .btn-close{display: none;}

.selected {
    font-weight: bold; /* Rende il testo della voce selezionata in grassetto */
    display: flex; /* Usa flexbox per allineare il testo e l'icona */
    justify-content: space-between; /* Spazia il contenuto */
    align-items: center; /* Allinea verticalmente */
}
.checkmark {
    font-size: 0.8em; /* Dimensione del baffo pi� piccola */
    margin-left: auto; /* Sposta il baffo a destra */
}

.symbol-hover:hover {
	background-color: var(--bs-warning);
	transition: all 0.2s ease;
}

.importo{
    background-color:  beige;
    color: #333;
}

.sortable-placeholder {
  background-color: #d0f0ff;
  border: 2px dashed #00aaff;
  height: 40px; /* o uguale all'altezza degli elementi */
}

.noselect {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none;   /* Chrome/Safari/Opera */
    -khtml-user-select: none;    /* Konqueror */
    -moz-user-select: none;      /* Firefox */
    -ms-user-select: none;       /* Internet Explorer/Edge */
    user-select: none;
}

.fc .fc-button {
  font-size: 15px;       /* Riduce la dimensione del testo */
  height: auto;          /* Evita altezze fisse */
}

a {
    text-decoration: none;
    outline: none;
    user-select: none; /* Impedisce la selezione del testo */
}

input.filter-dipendente.dipendente-selected {
    background-color: #fffacd; /* Giallo tenue */
    border: 2px solid #f0d000;
    font-weight: 550;
    color:#030303d0;
}

/* Filtro su nome e cognome nelle tabelle */
.name-filter-cell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    position: relative;
}

.name-filter-cell .name-text {
    flex: 1;
}

.filter-btn {
    background-color: transparent;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 4px 8px;
    cursor: pointer;
    color: #495057;
    font-size: 0.9em;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease-in-out;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.name-filter-cell:hover .filter-btn {
    opacity: 1;
    visibility: visible;
}

.filter-btn:hover {
    background-color: #e9ecef;
    color: #212529;
    border-color: #adb5bd;
}

.filter-btn:active {
    background-color: #dee2e6;
    color: #212529;
}
    
@media (max-width: 768px) {
            #sidebar {
                display: none;
            }
}

@media print {
    #sidebar, #top {
        display: none !important;
    }

    .logobar {
        display: none !important;
    }
    
    .print-logo-header {
        page-break-before: always;
        padding: 20px 0 !important;
        margin: 0 !important;
        text-align: left;
        page-break-after: avoid;
    }
    
    .print-logo-header > * {
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .print-logo-header img {
        max-height: 90px;
        margin-top: 20px;
    }
    
    .print-logo-first {
        page-break-before: avoid !important;
    }
    
    tbody tr {
        page-break-inside: avoid;
    }
    
    .badge {
        page-break-after: avoid;
    }
    
    .check_permessi,
    .form-check-input {
        display: none !important;
    }
    
    td:has(.form-check-input),
    th:has(.form-check-input),
    td:has(.bi-trash3-fill),
    th:has(.bi-plus-lg),
    .timbrow:has(.newline) {
        display: none !important;
    }
    
    .filter-dipendente,
    #navbar-giorni,
    #navbar-orari,
    #navbar-trasferte,
    #navbar-rimborsi,
    #sticked-toolbar {
        display: none !important;
    }
}
        