.navbar .navbar-brand a {
    color: #fff;
    font-size:20px;
}
.UC { text-transform: uppercase !important; }
.LC { text-transform: lowercase !important; }

/* .collapsible-indicator (bootstrap_limitless) è pensato per icone <i>, ma il transform:
   rotate() non ha effetto su elementi inline non sostituiti: serve inline-block */
.collapsible-indicator {
    display: inline-block;
}

/* toggle intestazione fattura: rotazione 180° invece dei 90° di default di .collapsible-indicator */
.collapsed .invoice-form-toggle-indicator {
    transform: rotate(180deg);
}

#alert-message-container {
    position: fixed;
    top: 20px;
    min-width: 300px;
    z-index: 100000;
    left: 50%;
    max-width: 30%;
    transform: translateX(-50%);
}

.htmx-request button[type="submit"] {
    pointer-events: none;
    opacity: 0.6;
}

.tooltip-custom.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
    border-left-color: inherit;
}

#patient-nav li a .badge.text-danger {
    position: absolute;
    right: 10px;
    top: 7px;
}

@keyframes flash {
    0% { background-color: #cce6fe }
    100% { background-color: transparent; }
}

.flashable {
    animation: flash 2s ease-out;
}

.list-address-container {
    position:relative
}
.list-address-container .list-group {
    position:absolute;
    background-color: #fff;
    width:100%;
    overflow-y: auto;
    z-index: 1000;
}

.modal .btn-close {
    --btn-close-bg:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 20 20' fill='#fff'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>");--btn-close-opacity:0.65;--btn-close-hover-opacity:1;--btn-close-focus-opacity:1;
    background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 20 20' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/var(--btn-close-width) auto no-repeat;
}

.input-group > span.select2-container { width:1% !important }

.htmx-indicator { display: none; }
.htmx-request .htmx-indicator { display: inline-block; }
.htmx-request.htmx-indicator { display: inline-block; }

.multi-upload-wrapper span.input-group-text {
    cursor: pointer;
}
.multi-upload-wrapper span.input-group-text.active {
    background-color: #0084fa;
    color: #fff;
}
.multi-upload-wrapper input[type="file"]::file-selector-button {
    display: none;
}

#paste-zone {
    height: 200px;
    border: 2px dashed #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* Il contenitore definisce il limite invalicabile */
#preview-modal .container {
    width: 100%;
    height: 70vh; /* Forza l'altezza al 70% dello schermo, mai di più */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden; /* Sicurezza extra: niente esce da qui */
}

#preview-modal .container img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain; /* Proporzioni mantenute, niente tagli, niente scroll */
}

input.select2-search__field,
ul.select2-results__options li.select2-results__option {
    text-transform: uppercase;
}
ul.select2-results__options li.select2-results__option.select2-results__message {
    text-transform: none;
}
.select2-selection--single .select2-selection__clear:after {
    content: "\e4f6";
}

.separator { height:1px; background-color:#d1d5db }

.fc .fc-toolbar-title, .fc .fc-col-header-cell-cushion {
    text-transform: Capitalize;
}
.fc .fc-timegrid-axis-cushion {
    font-size: 12px;
    text-align: center;
}
.fc-daygrid-dot-event { border:0 none; }

.fc .fc-bg-event.fc-event-holiday {
    opacity:1;
}
.fc .fc-bg-event.fc-event-holiday .fc-event-title {
    padding: 5px
}
.fc .fc-timegrid-now-indicator-line {
    border: 1px dashed #0069ff;
    margin: 0 5px;
}
.fc .fc-timegrid-col-bg {
    z-index: 1;
}

.drp-calendar thead tr th {
    font-weight: bold;
}

span.dot {
    height: 10px;
    width: 10px;
    border-radius: 50%;
    display: inline-block;
}
button.btn.btn-link.text-body:hover {
    color: #0c83ff!important;
}

table#config-table tr td:first-child,
table#config-table tr th:first-child { display:none; }
table#settings-table tr td:first-child,
table#settings-table tr th:first-child { display:none; }

.card-header.with-tab-underline {padding:10px; }

.out_of_range_field {
    background-color:#fff2ea !important;
    border-color:#ff7e2c !important;
}

#attachments-list .gu-transit { background: #006dfd; color: #fff }
#attachments-list .list-group-item:last-child { border-bottom: 0 }

#users-permissions-table thead tr th { text-align:center; width:10%; }
#users-permissions-table thead tr th:first-child { text-align:left; width:auto; }
#users-permissions-table thead tr th:last-child { width:5%; }
#users-permissions-table tbody tr td input { margin:0 auto; }

.medical-alert.dot {
    position: absolute;
    top: -10px;
    right: -10px;
}

#navbar_search .select2-selection__rendered {
    margin-left: 30px;
}
#navbar_search .select2-selection__arrow {
    display: none;
}
#patient-visits-list a { padding-left:25px; }
#patient-visits-list a span.dot {
    position:absolute;
    top: 16px;
    left: 10px;
}

#full-calendar {
    height: calc(100vh - 311px) !important;
    overflow-y: auto !important;
}
#full-calendar .fc-dayGridMonth-view .fc-daygrid-day-frame {
    min-height: 200px !important; /* l'altezza che vuoi tu */
}

#checks-form {
    width:25rem;
}

#appointments-requests {
    width:295px;
}

.nav-item-submenu>.nav-link:after {
    content: "\e13a";
}