body {
    font-family: Helvetica, Arial, sans-serif;
}

.modal-dialog {
    padding-top:5%;
    max-width:70%;
    margin: auto;
}

.modal-login {
    max-width:700px;
    margin: auto;
}

.modal-small {
    max-width:700px;
    margin: auto;
}

.dt-right {
    text-align: right;
}

.card-header {
    padding:5px;
}
.price_list_items {
    padding-top:0px;
    padding-bottom:0px;
}
.price_list_items a {
    font-size:12px;
    color:black;
}
#priceListModal {
    width:100%;
}
.priceListTable {
    width:100% !important;
}



.noBorder {
    border:0px !important;
}
.bgBilledColor {
    background-color: #e0ffe0 !important;
}
.number {
    text-align:right;
}
.daily_control, .daily_control_provider {
    width:100%;
    max-width:100%;
    font-size:13px;
}
.daily_control table,  .daily_control_provider table {
    border-style: hidden;
    color:black;
}
.datatable tr th,
.datatable tr td {
    vertical-align: middle;
}
.datatable thead th {
    border-top: 1px solid #444444 !important;
}
.dataTables_filter {
    margin-bottom: 5px !important;
}
.daily_control th, .daily_control_provider th {
    border:1px solid black;
    padding-left:5px;
    padding-right:0px;
    color:black;
    background-color:lightgray;
}
.daily_control th a, .daily_control_provider th a {
    color:white;
}
.daily_control td, .daily_control_provider td {
    border:1px solid black;
    color:black;
}
.daily_control th, .daily_control_provider th {
    border: 0px;
    border-style: hidden;
    border-style-left:hidden;border-style-right:hidden;
    border-top:1px solid black;
}

.daily_control_provider tr :first-child {
  border-left: 0px solid black;
}
.daily_control_provider tr :last-child {
  border-right: 0px solid black;
}
.daily_control_provider table {
    border:1px solid black;
}
.llocObra {
    background-color: #948b54;
}
.manoObraExternaEventual {
    background-color: #ffc000;
}
.providerStyle, .bg-provider {
    background-color: lightgray !important;
}
.fechaStyle {
    background-color: #ffa0a0;
}
.provider {
    overflow:hidden !important;
}
.bg-parties {
    background-color:#d0f0d0;
}
.itemsParties {
    background-color:#ffabfc;
    color:black;
}
.itemsParties th {
    background-color:#ffabfc !important;
    color:black !important;
}
ul.sm_submenu {
    width: 170px;
    padding: 0px;
}
.submenuMainLink {
    width: 170px !important;
    color:black;
    text-align:left;
    border-bottom:1px solid lightgrey;
    border-right:1px solid lightgrey;
    border-left:1px solid lightgrey;
    width:200px;
    background-color:white;
    overflow:hidden;
    text-overflow: ellipsis;
}
.submenuMainLink:hover{
    cursor:pointer !important;
    text-decoration: None !important;
    font-weight:bold;
}
.submenuFinalLink a {
    color:black;
}
.submenuFinalLink {
    border:1px solid lightgrey;
}
.submenuFinalLink:hover {
    color:black;
    font-weight:bold;
}
.showProvider {
    min-width:25px;
}
.control-label {
  text-align: left !important; /* !important added for priority in SO snippet. */
}
.menuBadge {
    font-size:12px;
    margin-top:3px;
}
.autocomplete-menu {
/*    font-size:25px;*/
}

.autocomplete-menu mark {
    font-weight:bold;
    background-color: lightgray;
    color: blue;
    padding: 0px;
}



.service_price_dc {
    max-width:50px;
    background-color:#a0ffa0;
}
.service_price_prov {
    max-width:50px;
    background-color:#a0a0ff;
}
.daily_number {
    background-color:#c1d800;
}
.daily_numberp {
    background-color:#33d4e0;
}
.daily_numbert {
    background-color:#b44de4;
    color:white;
    font-weight:bold !important;
    font-size:+1 !important;
}
.daily_summary {
    padding:5px;
    font-weight:bold;
    color:white;
    text-align:right;
}
.dc_billed, .dcp_billed {
    max-width:20px !important;
}
.dc_attach {
    width:20px;
}
.dc_date, .dcp_date {
    width:7.5%;
    overflow:hidden;
    white-space: nowrap; /* Prevent text from wrapping to the next line */
    text-overflow: ellipsis; /* Add an ellipsis (...) to indicate hidden text */
}
.dc_location, .dcp_location {
    min-width:12%;
    overflow:hidden;
    white-space: nowrap; /* Prevent text from wrapping to the next line */
    text-overflow: ellipsis; /* Add an ellipsis (...) to indicate hidden text */
}
.dc_comments, .dcp_comments {
    white-space:nowrap;
    min-width:12%;
    overflow:hidden;
    text-overflow: ellipsis; /* Add an ellipsis (...) to indicate hidden text */
}
.dc_client, .dcp_client {
    min-width:12%;
    overflow:hidden;
    white-space: nowrap; /* Prevent text from wrapping to the next line */
    text-overflow: ellipsis; /* Add an ellipsis (...) to indicate hidden text */
}
.dc_worker {
    min-width:12%;
    overflow:hidden;
    white-space: nowrap; /* Prevent text from wrapping to the next line */
    text-overflow: ellipsis; /* Add an ellipsis (...) to indicate hidden text */
}
.dc_service, .dcp_service {
    min-width:12%;
    overflow:hidden;
    white-space: nowrap; /* Prevent text from wrapping to the next line */
    text-overflow: ellipsis; /* Add an ellipsis (...) to indicate hidden text */
}
.dc_presupposition {
    min-width:12%;
/*    overflow:hidden;*/
    white-space: nowrap; /* Prevent text from wrapping to the next line */
/*    text-overflow: ellipsis; */ /* Add an ellipsis (...) to indicate hidden text */
}
.dcp_provider {
    min-width:12%;
    overflow:hidden;
    white-space: nowrap; /* Prevent text from wrapping to the next line */
    text-overflow: ellipsis; /* Add an ellipsis (...) to indicate hidden text */
}
.dc_comment, .dcp_comment {
    min-width:12%;
    overflow:hidden;
    white-space: nowrap; /* Prevent text from wrapping to the next line */
    text-overflow: ellipsis; /* Add an ellipsis (...) to indicate hidden text */
}
.report_presupposition {
    min-width:12%;
    overflow:hidden;
    white-space: nowrap; /* Prevent text from wrapping to the next line */
    text-overflow: ellipsis; */ /* Add an ellipsis (...) to indicate hidden text */
}
.fa_btn {
    margin-top:9px;
    margin-left:2px;
    margin-right:2px;
}

.loading-state {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
}
.loading {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 10px solid #ddd;
    border-top-color: orange;
    animation: loading 1s linear infinite;
}
@keyframes loading {
  to {
    transform: rotate(360deg);
  }
}

.editButton, .deleteButton, .checkBilled, .checkBilled_provider {
    cursor: pointer;
}
.clearInput {
    background: none;
    border: none;
    color: red;
    cursor: pointer;
    font-weight: bold;
    padding-left: 5px;
    margin: 0;
    line-height: 1;
}
.presuppositions-list {
    width:120px;
}
.pending_table {
    padding:0px !important;
    border:0px solid red;
    font-size:11px;
}
.dc_table th, .dc_table td {
    font-size: 1em;
}
.pending_table th, .pending_table td {
    font-size: 1.2em;
    border-bottom-color: none;
}


.dn_selected {
    border:2px solid orange !important;
}

.object-fit-cover {
    object-fit: cover;
}
/*
.party_selector {
    font-size:9px;
    padding:0px;
    margin:0px;
    min-height: 9px !important;
}
*/
.flashable {
    transition: border-color 120ms ease-in-out;
}

.flashable.flashing {
    border:2px;
    background-color:blue;
    color:white;
    border-color: #0d4ecd; /* Bootstrap primary blue */
}
.navbar-nav > .active > .nav-link {
    /* Styles for active navigation link */
    color: lightgreen !important;
    font-weight: bold;
}
#alert_box, #info_box {
    position:fixed;
    top:40%;
    left:50%;
    transform:translate(-50%, -40%);
    opacity:.95;
    z-index: 9999 !important;
    font-size:15px;
    font-weight:bold;
    min-width:400px;
}
.dc_row td {
    background-color:#edf6eb;
}
.dcp_row td {
    background-color:#d6e9ee;
}
label {
    padding-bottom:3px;
}
.tooltip-inner {
    max-width: none !important;          /* removes Bootstrap's default ~200px cap */
    width: auto !important;
    padding: 0.5rem 0.75rem;             /* adjust if needed */
}
.container-fluid {
    max-width:1700px;
}
.container-max {
    max-width:1850px;
}
table td {
    line-height: 1.2;
}

.bill-number-container {
    background-color: #fff9f0; /* Very light orange/cream background */
    border: 2px solid #ea580c; /* Bright orange border */
    border-radius: 6px;
    padding: 12px 6px;
    display: inline-block;
    font-family: Helvetica, Arial, sans-serif;
    color: #1f2937; /* Dark gray/black for text */
}

.bill-number-label {
    font-family: Helvetica, Arial, sans-serif;
    font-weight: 600;
    color: #1f2937; /* Dark text */
    margin-right: 8px;
    margin: 4px;
}

.bill-number-value {
    font-weight: 700;
    color: #ea580c; /* Orange for the number */
    background-color: #fff7ed; /* Slightly darker orange background */
    padding: 4px 5px;
    border-radius: 4px;
    border: 1px solid #fed7aa; /* Light orange border */
}
hr {
    height: 1px;
    background-color: white;
    color:gray;
    border: none;
}
.datepicker {
  z-index: 999 !important;
}
.recent:hover {
    color:white !important;
}
input[type="checkbox"].dc_selected {
    appearance: none;
    -webkit-appearance: none;
    width: 14px !important;
    height: 14px !important;
    border: 1.5px solid #dc3545; /* Red border for unchecked state */
    border-radius: 3px;
    cursor: pointer;
    position: relative;
    background: transparent; /* Transparent background */
}

input[type="checkbox"].dc_selected:checked {
    background: transparent;
    border-color: #198754;
}

input[type="checkbox"].dc_selected:checked::after {
    content: "✓";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: green;
    font-size: 10px;
    font-weight: bold;
}

/* Add the red X when unchecked */
input[type="checkbox"].dc_selected:not(:checked)::after {
    content: "✕";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #dc3545; /* Red X */
    font-size: 10px;
    font-weight: bold;
}
