html {
   font-size: 90%;
}

* {
   font-family: "Lato", sans-serif;
}

body {
   min-height: 100vh;
   display: flex;
   flex-direction: column;
}

body > .container-fluid {
   flex: 1;
}

body.request-dashboard {
   margin-bottom: 100px;
}

/** Logo **/
header .logo {
   width: 120px;
   max-width: 100%;
}

.boxed-logo {
   width: 180px;
   max-width: 100%;
}
/** END Logo **/

/** Header **/
.status-filter-nav .nav-status-link {
   font-size: 0.9rem;
}

.status-counter-popover-wrapper {
   margin-top: 1rem !important;
   --bs-popover-max-width: 400px;
   width: 400px;
   max-width: calc(100vw - 1rem);
}

.status-counter-popover-wrapper .popover-body {
   min-width: 0;
}

.status-counter-popover-wrapper .popover-arrow {
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
}

.status-counter-list .nav-status-link {
   padding: 0.25rem 0;
}

.status-counter-list .status-text {
   min-height: 2rem;
}

.status-counter-badge {
   flex: 0 0 auto;
}

.status-counter-label {
   flex: 1 1 auto;
   min-width: 0;
}

.status-counter-amount {
   flex: 0 0 auto;
   margin-left: auto;
   white-space: nowrap;
}

.status-counter-footer .nav-link {
   padding-left: 0;
   padding-right: 0;
}
/** END Header **/

.signin-page .form-container,
.forgot-password-page .form-container,
.signup-page .form-container,
.change-password-page .form-container {
   width: 420px;
   max-width: 100%;
   padding: 32px;
   border-radius: 8px;
}

.forget-password-link {
   font-size: 0.9em;
}

.customer-profile-page {
   min-height: 100vh;
   background: linear-gradient(135deg, #f8fafc 0%, #eef4ff 100%);
}

.customer-profile-card {
   width: 920px;
   max-width: 100%;
   border: 0;
   border-radius: 1rem;
}

.modal-content,
.modal-body {
   overflow: visible !important;
}

/* Notes */
.edit-note-btn {
   font-size: 0.8rem;
}

.wrapper-note {
   padding: 5px 10px;
   border-radius: 2px;
   border: 1px solid #bfbfbf;
   margin-bottom: 5px;
   font-size: 0.9em;
}

.wrapper-note:nth-child(odd) {
   background: #fffefe;
   margin-left: 10px;
}

.wrapper-note:nth-child(even) {
   background: #f3f0f0;
   margin-right: 10px;
}

.wrapper-note .note-details {
   display: block;
   font-size: 0.8rem;
   border-top: 1px solid #b0b0b0;
   margin-top: 5px;
   padding-top: 2px;
}

.delete-note-dropdown {
   width: 200px;
}
/* END Notes */

/** Datatable **/
#all-request-table th {
   vertical-align: top;
   background: white;
}

#all-request-table thead {
   position: sticky;
   z-index: 12;
   top: calc(var(--bs-gutter-x) * 0.5);
   box-shadow: 0 80px 40px -80px rgba(0, 0, 0, 0.2);
}

table.fixedHeader-floating {
   margin-top: 0 !important;
}

thead .filters select {
   padding: 4px;
}
/** END Datatable **/

/** Add manual request btn **/
.add-request-btn-wrapper {
   z-index: 5;
}

.add-request-btn-wrapper i:before {
   font-size: 3.5rem;
   background: #fff;
   border-radius: 99px;
}

.dropdown-menu-success {
   background: rgb(25, 135, 84);
}

.dropdown-menu-success button {
   color: #ffffff;
}

.dropdown-menu-success button:hover {
   background: rgb(29, 153, 95);
   color: #ffffff;
}
/** END Add manual request btn **/

/** Form **/
form .h5 {
   font-size: 1.1rem;
   margin-bottom: 0;
}

.form-control:read-only {
   background-color: var(--bs-form-control-disabled-bg);
}

.form-check-wrapper {
   display: flex;
   flex-wrap: wrap;
}

.form-check-wrapper .form-check {
   flex: 1 0 46%;
}
/** END Form **/

/** Stats **/
.canvas-wrapper {
   max-height: 400px;
}

#map {
   height: 400px;
}
/** END Stats **/

/** WhatsApp **/
.whatsapp-link {
   text-decoration: none;
   color: #075e54;
}

.whatsapp-link:hover,
.whatsapp-link:active {
   text-decoration: none;
   color: #128c7e;
}
/** END WhatsApp **/

/** Email link **/
.email-link {
   text-decoration: none;
   color: #0049b4;
}

.email-link:hover,
.email-link:active {
   text-decoration: none;
   color: #0d6efd;
}
/** END Email link **/

/** Label giorni di ritardo **/
.request-delay-days {
   padding: 2px 8px;
   display: block;
   margin-top: 0.5em;
   font-size: 0.9em;
   line-height: normal;
}
.request-delay-days.low {
   border-left: 3px solid #28a745;
   color: #28a745;
   background: #f7fff9;
}

.request-delay-days.med {
   border-left: 3px solid #efb813;
   color: #c7a02b;
   background: #fffdf6;
}

.request-delay-days.high {
   border-left: 3px solid #dc3545;
   color: #dc3545;
   background: #fff6f6;
}
/** END Label giorni di ritardo **/

/** Files **/
.files-list-group .filetype-icon {
   font-size: 1.5rem;
}
/** END Files **/

.hidden {
   visibility: hidden;
   position: absolute;
}

/** Search user module **/
#searchModule {
   position: relative;
   z-index: 1;
}

#searchLive {
   margin-top: 0.5rem;
   padding: 0;
   list-style: none;
   z-index: 1;
   border: var(--bs-border-width) solid var(--bs-border-color);
   border-radius: var(--bs-border-radius-lg);
   background-color: #ffffff;
   max-height: 300px;
   box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15);
}

#searchLive li {
   padding: 0.5rem 1rem;
   cursor: pointer;
}

#searchLive li.no-results {
   background-color: #ffffff !important;
   cursor: default;
}

#searchLive li:hover {
   background-color: var(--bs-tertiary-bg);
}

#inputSearchUser:disabled,
.readonly {
   background-color: var(--bs-tertiary-bg) !important;
}

.form-select {
   padding-left: 0.675rem;
}
/** END Search user module **/

/** Tmp price module **/
.tmp-price-fields input::-webkit-outer-spin-button,
.tmp-price-fields input::-webkit-inner-spin-button {
   -webkit-appearance: none;
   margin: 0;
}

.tmp-price-fields input[type="number"] {
   -moz-appearance: textfield;
}

.tmp-price-fields input {
   border-right: none !important;
}

.tmp-price-fields input:read-only {
   background-color: var(--bs-tertiary-bg) !important;
}

.tmp-price-fields .input-group-text {
   padding: 0.975rem 0.75rem 0rem 0.75rem;
   background-color: transparent;
   color: rgba(0, 0, 0, 0.65);
}

.tmp-price-fields .input-group-text.readonly {
   background-color: var(--bs-tertiary-bg) !important;
}
/** END Tmp price module **/

/* .dt-row {
   overflow-x: scroll;
} */

.status-filter-trigger {
   cursor: pointer;
}

/* Storico stati richiesta */
#show-request-status-history-modal .modal-body .alert {
   position: relative;
   margin-bottom: 6px !important;
   background-color: rgb(246, 246, 246);
   border-color: rgb(180, 180, 180);
}

#show-request-status-history-modal .modal-body .alert:not(:last-child):after {
   content: "";
   position: absolute;
   display: block;
   left: 0;
   right: 0;
   bottom: -9px;
   margin: 0 auto;
   width: 20px;
   height: 20px;
   background-color: rgb(246, 246, 246);
   border: 1px solid rgb(180, 180, 180);
   transform: rotate(45deg);
   clip-path: polygon(100% 0, 100% 100%, 0 100%);
   z-index: 1;
}

#show-request-status-history-modal .modal-body .alert .status-badge {
   padding: 0.2rem 0.5rem;
   border-radius: 0.2rem;
   margin-bottom: 0.5rem;
}
/* END Storico stati richiesta */
