
.subitems{ background-color: #e5e1f2; }
.subitems>a{ margin-left: 1em; }
.account{ padding: 20px; min-height: 50px; }
 .search_btn{ background-color: #424242; color: #fff; cursor: pointer; }
 .mr4px{ margin-right: 4px; }
 .btn-circle { width: 30px; height: 30px; padding: 2px 0; border-radius: 15px; text-align: center; font-size: 15px; line-height: 1.428571429; font-weight: 100; }
 .btn-circle.btn-lg { width: 50px; height: 50px; padding: 10px 16px; border-radius: 25px; font-size: 18px; line-height: 1.33; }
.pull-right { float: right; }
.btn-add { border-color: #337ab7; margin-left: 10px; }
.small_title{ margin-bottom: 1em; }

/*TABS*/
.hg-tabs { border-bottom: none; box-shadow: 0 4px 0 0 rgb(255, 255, 255), 0 5px 0 0 rgb(250, 250, 250);}
.hg-tabs .nav-link { color:#999999;font-size:16px;text-transform: uppercase; background-color: #e9ecef}
.hg-tabs .nav-link.active, .hg-tabs .nav-link.active:hover{ border-color: transparent; box-shadow: 0 3px 0 0 #007bff; color:#007bff; background:transparent;}
.hg-tabs .nav-link:hover { border-color: transparent; box-shadow: 0 3px 0 0 #f0f0f0; }
.hg-tabs .nav-link.active:focus{ border-color: transparent;}
.tab-content{ margin-top:15px;color:#888888;}
.tab-pane{ background-color: #fff;  }
/*TABS*/

/*TABS COTIZACIONES*/
.filter-option{ border: 1px solid #ccc; }
/* Bootstrap-select styles removed - using Select2 instead */
/* .bootstrap-select{ width: calc(100% - 38px)!important; } */
.small_text{ display: block; font-size: 10px; text-transform: capitalize; }
.hc-tabs>.nav-item{ display: inline-block!important; }
.hc-tabs { border-bottom: none; box-shadow: 0 4px 0 0 rgb(255, 255, 255), 0 5px 0 0 rgb(250, 250, 250);}
.hc-tabs .nav-link { color:#999999;font-size:13px;text-transform: uppercase; background-color: #e9ecef}
.hc-tabs .nav-link.active, .hc-tabs .nav-link.active:hover{ border-color: transparent; box-shadow: 0 3px 0 0 #007bff; color:#007bff; background:transparent;}
.hc-tabs .nav-link:hover { border-color: transparent; box-shadow: 0 3px 0 0 #f0f0f0; }
.hc-tabs .nav-link.active:focus{ border-color: transparent;}
#TAB2{ background-color: #f9f9f9; padding-top: 20px; padding-bottom: 20px; }
.can_items { border-radius: 100%;background-color: #c4183c;color: #fff;height: 17px;width: 17px;display: inline-block;text-align: center; }
.check_form{ margin-left: 8px;border: 1px solid #ccc;border-radius: 8px;}
.checkbox{ padding-top: 8px; border-radius: 8px; }
#items_table_html{ font-size: 12px; }
/*TABS*/

/*CHAT*/
.chat-message-content { padding: 8px;background-color: #28a745;border-radius: 10px;color: #fff;}
.chat-time {float: right;font-size: 10px;}

/*CHECK RADIO*/
@-webkit-keyframes
	click-wave {
		0% { width: 40px;height: 40px;opacity: 0.35;position: relative;}
 		100% {width: 200px;height: 200px;margin-left: -80px;margin-top: -80px;opacity: 0.0;}
}


@-moz-keyframes 
	click-wave { 
		0% { width: 40px; height: 40px; opacity: 0.35; position: relative;}
 		100% {width: 200px;height: 200px;margin-left: -80px;margin-top: -80px;opacity: 0.0;}
}
@-o-keyframes 
	click-wave { 
		0% { width: 40px;height: 40px;opacity: 0.35;position: relative;}
 		100% { width: 200px; height: 200px;margin-left: -80px;margin-top: -80px;opacity: 0.0;}
}
@keyframes 
	click-wave { 
		0% { width: 40px;height: 40px;opacity: 0.35;position: relative;}
 		100% {width: 200px;height: 200px;margin-left: -80px;margin-top: -80px; opacity: 0.0;}
	}

.option-input { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none;-o-appearance: none; appearance: none; position: relative; top: 13.33333px; width: 40px; height: 40px; -webkit-transition: all 0.15s ease-out 0; -moz-transition: all 0.15s ease-out 0; transition: all 0.15s ease-out 0;background: #cbd1d8; border: none; color: #fff;cursor: pointer; display: inline-block; outline: none; position: relative; margin-right: 0.5rem; z-index: 1000; }
.option-input:hover { background: #9faab7; }
.option-input:checked { background: #2196F3; }
.option-input:checked::before { width: 40px; height: 40px;position: absolute; content: '\2713';display: inline-block;font-size: 26.66667px;text-align: center;line-height: 40px;}
.option-input:checked::after {-webkit-animation: click-wave 0.65s;-moz-animation: click-wave 0.65s;animation: click-wave 0.65s;background: #2196F3; content: '';display: block;position: relative; z-index: 100; }
.option-input.radio { border-radius: 50%; }
.option-input.radio::after { border-radius: 50%; }
.demo { padding: 4px; display:block; }
.label_ { display: block; line-height: 40px; }
/*LIST*/


.input-group-addon {
    padding: 10px 12px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    color: #555;
    text-align: center;
    background-color: #eee;
    border: 1px solid #ccc;
    border-radius: 4px;
    white-space: nowrap;
    vertical-align: middle;
    display: table-cell;
}

#TAB2 .input-group-addon:first-child, 
#TAB1 .input-group-addon:first-child, 
#TABP1 .input-group-addon:first-child {
    border-right: 0;
    min-width: 150px;
    text-align: left;
}

#btn_ret_add, #add_pay{ cursor: pointer; }

.box_settings {
    border: 1px solid #ccc;
    border-radius: 30px;
    padding-top: 20px;
    padding-left: 20px;
    color: #717171;
    margin-bottom: 15px;
}

.bg-cover {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.hero-login {
    height: 100%;
}

.login-panel {
    margin-top: 25%;
}

#cot_cli_ach, #fac_fil { width: 200px; margin-left: 4px; } 
.filtro input[type="checkbox"],
.filtro input[type="radio"] {position: absolute;opacity: 0;z-index: -1; }
.filtro label { position: relative; display: inline-block; margin-right: 10px; margin-bottom: 10px; padding-left: 30px; padding-right: 10px; line-height: 36px; cursor: pointer; }
.filtro label::before { content: " "; position: absolute; top: 6px; left: 0; display: block; width: 24px; height: 24px; border: 2px solid #007bff; border-radius: 4px; z-index: -1; }
.filtro input[type="radio"] + label::before { border-radius: 18px;}
/* Checked */
.filtro input[type="checkbox"]:checked + label,
.filtro input[type="radio"]:checked + label { padding-left: 10px; color: #fff; }
.filtro input[type="checkbox"]:checked + label::before,
.filtro input[type="radio"]:checked + label::before { top: 0;width: 100%; height: 100%; background: #007bff; }
/* Transition */
.filtro label,label::before { -webkit-transition: .25s all ease; -o-transition: .25s all ease; transition: .25s all ease; }
.search_box_row {padding: 10px;border: 1px solid #ccc;border-radius: 20px;}

.styled-checkbox {
  position: absolute;
  opacity: 0;
}
.styled-checkbox + label {
  position: relative;
  cursor: pointer;
  padding: 0;
}
.styled-checkbox + label:before {
  content: '';
  margin-right: 10px;
  display: inline-block;
  vertical-align: text-top;
  width: 20px;
  height: 20px;
  background: white;
}
.styled-checkbox:hover + label:before {
  background: #007bff;
}
.styled-checkbox:focus + label:before {
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.12);
}
.styled-checkbox:checked + label:before {
  background: #007bff;
}
.styled-checkbox:disabled + label {
  color: #b8b8b8;
  cursor: auto;
}
.styled-checkbox:disabled + label:before {
  box-shadow: none;
  background: #ddd;
}
.styled-checkbox:checked + label:after {
  content: '';
  position: absolute;
  left: 5px;
  top: 9px;
  background: white;
  width: 2px;
  height: 2px;
  box-shadow: 2px 0 0 white, 4px 0 0 white, 4px -2px 0 white, 4px -4px 0 white, 4px -6px 0 white, 4px -8px 0 white;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

input[type=checkbox] {
  opacity: 0;
}

  input[type=checkbox].slide-checkbox+label {
  position: relative;
  display: inline-block;
  vertical-align: top;
  margin-top: 0;
  margin-left: -21px;
  }

input[type=checkbox].slide-checkbox+label:before {
  content: "";
  width: 54px;
  height: 32px;
  position: absolute;
  background-color: #bdc3c7;
  border-radius: 16px;
  top: 0;
  left: 0;
  transition: all 0.25s ease-in-out;
}

input[type=checkbox].slide-checkbox+label:after {
  content: "";
  width: 28px;
  height: 28px;
  top: 2px;
  left: 2px;
  position: absolute;
  background: #fafafa;
  border-radius: 50%;
  box-shadow: 0 2px 7px -2px rgba(0, 0, 0, 0.4), 1px 2px 1px rgba(0, 0, 0, 0.2);
  transition: all 0.25s ease-in-out;
}

input[type=checkbox].slide-checkbox:checked+label:before {background-color: #2ecc71;}
input[type=checkbox].slide-checkbox:checked+label:after {left: 24px;}

/* Focus */
input[type=checkbox].slide-checkbox:focus+label:before {border-color: #957adb;outline: 0;box-shadow: 0 0 0 3px rgba(52, 152, 219,0.5);}
/* Validation for angular.js*/
form.ng-submitted input[type="checkbox"].slide-checkbox.ng-invalid+label:before {background-color: #ff89a3;}

/* Basic Styles [No need to use them] */
.container{width: 100%;margin: 30px auto;text-align: center;}
.mt30 {margin-top:30px;}
input[type=checkbox].slide-checkbox.focus+label:before {border-color: #957adb;outline: 0;box-shadow: 0 0 0 3px rgba(52, 152, 219,0.5);}
input[type=checkbox].slide-checkbox.invalid+label:before { background-color: #e74c3c;}

.tabbable-panel { border:1px solid #eee; padding: 10px; }
.tabbable-line > .nav-tabs { border: none; margin: 0px; }
.tabbable-line > .nav-tabs > li { margin-right: 2px; }
.tabbable-line > .nav-tabs > li > a { border: 0; margin-right: 0; color: #737373; }
.tabbable-line > .nav-tabs > li > a > i { color: #a6a6a6; }
.tabbable-line > .nav-tabs > li.open, .tabbable-line > .nav-tabs > li:hover { border-bottom: 4px solid rgb(80,144,247); }
.tabbable-line > .nav-tabs > li.open > a, .tabbable-line > .nav-tabs > li:hover > a { border: 0; background: none !important; color: #333333; }
.tabbable-line > .nav-tabs > li.open > a > i, .tabbable-line > .nav-tabs > li:hover > a > i { color: #a6a6a6; }
.tabbable-line > .nav-tabs > li.open .dropdown-menu, .tabbable-line > .nav-tabs > li:hover .dropdown-menu { margin-top: 0px; }
.tabbable-line > .nav-tabs > li.active { border-bottom: 4px solid #32465B; position: relative; }
.tabbable-line > .nav-tabs > li.active > a { border: 0; color: #333333; }
.tabbable-line > .nav-tabs > li.active > a > i { color: #404040; }
.tabbable-line > .tab-content { margin-top: -3px; background-color: #fff; border: 0; border-top: 1px solid #eee; padding: 15px 0; }
.portlet .tabbable-line > .tab-content { padding-bottom: 0; }
.infobox{ background-color: #ccc; border-radius: 30px; padding: 20px; font-family: monospace;}
p>strong { font-weight: 900!important; }

/* Estilos personalizados para filtros de proyectos */
.card-header.bg-light {
  border-bottom: 1px solid rgba(0,0,0,.125);
  padding: 1rem 1.25rem;
}
.card-header h6 {
  color: #495057;
  font-weight: 600;
}
.card-header i.material-icons {
  vertical-align: middle;
  margin-right: 8px;
  font-size: 18px;
}
.form-label.fw-bold {
  color: #495057;
  margin-bottom: 6px;
}
.btn-outline-secondary:hover {
  background-color: #6c757d;
  border-color: #6c757d;
}
.btn-outline-secondary i.material-icons {
  font-size: 16px;
  margin-right: 4px;
}
/* Mejorar apariencia de inputs month */
input[type="month"] {
  padding: 0.375rem 0.75rem;
}
input[type="month"]:focus {
  border-color: #80bdff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* Wizard Progress Bar */
.wizard-progress-container {
    padding: 15px 25px;
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}
.wizard-progress-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    font-weight: 600;
    color: #495057;
}
.wizard-progress-bar .progress {
    flex-grow: 1;
    margin: 0 15px;
    height: 10px;
}
.wizard-progress-bar .progress-text {
    width: 100px;
}
.wizard-progress-bar .completion-text {
    width: 120px;
    text-align: right;
}

/* Badge de Estado del Proyecto en el Header del Modal */
#phase-modal-badge {
    padding: .5em .8em;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .5px;
    text-transform: uppercase;
    vertical-align: middle;
}

/* Phase badge colors - aligned with Kanban phase colors */
.status-comercial { background-color: #007bff; color: #fff; }
.status-ingenieria-diseno { background-color: #17a2b8; color: #fff; }
.status-bodega { background-color: #ffc107; color: #212529; }
.status-compras { background-color: #6f42c1; color: #fff; }
.status-orden-corte { background-color: #fd7e14; color: #fff; }
.status-plan { background-color: #6c757d; color: #fff; }
.status-fabricacion { background-color: #28a745; color: #fff; }
.status-calidad { background-color: #dc3545; color: #fff; }
.status-transporte { background-color: #343a40; color: #fff; }
.status-entregado { background-color: #138496; color: #fff; }
.status-default { background-color: #6c757d; color: #fff; }


/* Modal de acciones del proyecto más amplio */
#projectPhaseModal .modal-dialog {
  max-width: min(90vw, 1800px);
  width: 90vw;
  margin: 1rem auto;
}

#projectPhaseModal .modal-content {
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

#projectPhaseModal .modal-body {
  max-height: 80vh;
  overflow-y: auto;
  padding: 30px;
}

#dataModal .modal-dialog {
  width: 90vw;
  max-width: 1800px;
}

.fv2-card {
  border: 1px solid #e1e5eb;
  border-radius: 0.75rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  margin-bottom: 1.5rem;
}

.fv2-section-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.notes-counter {
  position: absolute;
  bottom: 5px;
  right: 10px;
  font-size: 0.75rem;
  color: #6c757d;
}

.fv2-total-banner {
  background-color: #e9f2ff;
  padding: 1rem 1.5rem;
  border-radius: 0.75rem;
}

/* Bootstrap Select styles removed - using Select2 instead */
/* 
.modal .bootstrap-select .dropdown-menu {
  z-index: 1070 !important;
}

.modal-open .bootstrap-select .dropdown-menu {
  z-index: 1070 !important;
}

.bootstrap-select .dropdown-toggle:focus {
  outline: none !important;
  box-shadow: none !important;
}

.modal .bootstrap-select.open .dropdown-menu {
  display: block !important;
  opacity: 1 !important;
}

.modal .bootstrap-select .dropdown-menu.show {
  z-index: 9999 !important;
}

.bootstrap-select .dropdown-menu[style*="position: absolute"] {
  z-index: 9999 !important;
}

.modal .bootstrap-select .dropdown-menu[style*="position: absolute"] {
  z-index: 1070 !important;
}

.bootstrap-select .dropdown-menu {
  opacity: 1 !important;
  visibility: visible !important;
}

.input-group .bootstrap-select .dropdown-menu {
  top: 100% !important;
  bottom: auto !important;
  margin-top: 1px !important;
}

.input-group .bootstrap-select.dropup .dropdown-menu {
  top: 100% !important;
}
*/

/* Select2 fixes for modals */
.modal .select2-container--open {
  z-index: 9999 !important; /* Ensure dropdown appears above modal */
}

.modal .select2-dropdown {
  z-index: 9999 !important; /* Ensure dropdown menu appears above modal */
}

.modal-open .select2-container--open {
  z-index: 9999 !important; /* Ensure dropdown appears above modal backdrop */
}

.modal-open .select2-dropdown {
  z-index: 9999 !important; /* Ensure dropdown menu appears above modal backdrop */
}

/* Ensure Select2 dropdown visibility in modals */
.modal .select2-container--open .select2-dropdown {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Select2 styles for input-group */
.input-group .select2-container {
  flex: 1 1 auto;
  width: 1% !important;
  position: relative;
}

.input-group .select2-container .select2-selection {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: 0;
  height: calc(1.5em + 0.75rem + 2px);
  display: flex;
  align-items: center;
}

.input-group .select2-container--default .select2-selection--single {
  height: calc(1.5em + 0.75rem + 2px);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: 0;
}

.input-group .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: calc(1.5em + 0.75rem + 2px);
  padding-left: 0.75rem;
  padding-right: 20px;
}

.input-group .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: calc(1.5em + 0.75rem + 2px);
  right: 5px;
}

/* Fix border when input-group-prepend is present */
.input-group-prepend + .select2-container .select2-selection {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: 0;
}

.input-group-prepend + .select2-container--default .select2-selection--single {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: 0;
}

/* Ensure proper alignment */
.input-group .select2-container .select2-selection__rendered {
  padding-top: 0;
  padding-bottom: 0;
}

/* Fix focus state in input-group */
.input-group .select2-container--default.select2-container--focus .select2-selection {
  border-color: #80bdff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* Ensure Select2 matches form-control height */
.input-group .select2-container--default .select2-selection--single {
  height: calc(1.5em + 0.75rem + 2px);
  min-height: calc(1.5em + 0.75rem + 2px);
}

/* Fix for when select2 has border-left:0 style */
.input-group .select2-container .select2-selection[style*="border-left:0"],
.input-group .select2-container .select2-selection[style*="border-left: 0"] {
  border-left: 0 !important;
}

/* Select2 dropdown alignment and width fixes */
.select2-dropdown {
  box-sizing: border-box;
}

/* Fix dropdown positioning to align with container */
.select2-container--default .select2-dropdown--below {
  margin-top: -1px;
}

.select2-container--default .select2-dropdown--above {
  margin-bottom: -1px;
}

/* Ensure dropdown doesn't overflow container */
.modal .select2-dropdown {
  box-sizing: border-box;
}

/* Ensure dropdown is visible when open */
.select2-container--open .select2-dropdown {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Fix dropdown width calculation */
.select2-container--default .select2-results > .select2-results__options {
  max-width: 100%;
  overflow-x: hidden;
}

.select2-results__option {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* Select2 search input fixes */
.select2-search--dropdown {
  display: block !important;
  padding: 4px;
}

.select2-search--dropdown .select2-search__field {
  width: 100% !important;
  padding: 6px 12px !important;
  border: 1px solid #ced4da !important;
  border-radius: 0.25rem !important;
  outline: none !important;
  box-sizing: border-box !important;
}

.select2-search--dropdown .select2-search__field:focus {
  border-color: #80bdff !important;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

.select2-search--dropdown .select2-search__field::placeholder {
  color: #6c757d;
  opacity: 1;
}

/* Ensure search input is clickable and functional */
.select2-container--default .select2-search--dropdown .select2-search__field {
  cursor: text !important;
  pointer-events: auto !important;
  z-index: 9999 !important;
  position: relative !important;
}

/* Fix for input-group blocking search field */
.input-group .select2-dropdown .select2-search--dropdown {
  z-index: 9999 !important;
  position: relative !important;
}

.input-group .select2-dropdown .select2-search--dropdown .select2-search__field {
  pointer-events: auto !important;
  cursor: text !important;
  z-index: 9999 !important;
  position: relative !important;
}

/* Prevent any overlay from blocking search field */
.select2-dropdown .select2-search--dropdown {
  pointer-events: auto !important;
}

.select2-dropdown .select2-search--dropdown * {
  pointer-events: auto !important;
}

/* KANBAN STYLES */
.kanban-list::-webkit-scrollbar {
    width: 6px;
}
.kanban-list::-webkit-scrollbar-thumb {
    background-color: rgba(0,0,0,0.2);
    border-radius: 3px;
}
.kanban-list::-webkit-scrollbar-track {
    background: transparent;
}

.kanban-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.kanban-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
}
.kanban-card.sortable-drag {
    opacity: 0.9;
    transform: rotate(2deg);
}
.kanban-card.sortable-ghost {
    opacity: 0.4;
    background-color: #f8f9fa;
    border: 2px dashed #dee2e6;
}

/* Priority Borders */
.border-left-primary { border-left-color: #007bff !important; }
.border-left-success { border-left-color: #28a745 !important; }
.border-left-info { border-left-color: #17a2b8 !important; }
.border-left-warning { border-left-color: #ffc107 !important; }
.border-left-danger { border-left-color: #dc3545 !important; }
.border-left-secondary { border-left-color: #6c757d !important; }
