* {
    outline: none !important;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 25px !important;
    margin-bottom: 43.33px !important;
}

h1 {
    margin: .67em 0 !important;
}

h2 {
    line-height: 134% !important;
}

h3 {
    line-height: 141% !important;
}

body,
.ui-widget {
    font-family: Montserrat, Helvetica, Arial, sans-serif;
    font-size: 18px;
    color: #545454 !important;
}

.row.col-2 .col-md-6 {
    padding-left: -3px;
}

.anchoTotal {
    width: 100% !important;
}

/* Estilos para tablaPanelGrid - Sistema de 12 columnas */
.tablaPanelGrid {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.tablaPanelGrid .ui-panelgrid-cell {
    padding: 8px !important;
    vertical-align: top !important;
    border: none !important;
}

/* Columnas específicas para el sistema de 12 columnas */
.tablaPanelGrid .col-12 {
    width: 100% !important;
    display: block !important;
}

.tablaPanelGrid .col-8 {
    width: 66.66666667% !important;
    display: inline-block !important;
    vertical-align: top !important;
}

.tablaPanelGrid .col-6 {
    width: 50% !important;
    display: inline-block !important;
    vertical-align: top !important;
}

.tablaPanelGrid .col-4 {
    width: 33.33333333% !important;
    display: inline-block !important;
    vertical-align: top !important;
}

.tablaPanelGrid .col-3 {
    width: 25% !important;
    display: inline-block !important;
    vertical-align: top !important;
}

.tablaPanelGrid .col-2 {
    width: 16.66666667% !important;
    display: inline-block !important;
    vertical-align: top !important;
}

/* Asegurar que las columnas con colspan funcionen correctamente */
.tablaPanelGrid .ui-panelgrid-cell[colspan="3"] {
    width: 100% !important;
    display: block !important;
}

.tablaPanelGrid .ui-panelgrid-cell[colspan="2"] {
    width: 66.66666667% !important;
    display: inline-block !important;
}

/* Asegurar que los campos de entrada respeten el ancho de sus contenedores */
.col-md-12 .anchoTotal,
.col-md-8 .anchoTotal,
.col-md-6 .anchoTotal,
.col-md-4 .anchoTotal,
.col-md-3 .anchoTotal {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Estilos específicos para los campos de entrada en el formulario de escuelas */
.ui-inputfield {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.ui-selectonemenu {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.ui-inputnumber {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.ui-inputtextarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Estilos más específicos para forzar el ancho correcto */
.col-md-12 .ui-inputfield,
.col-md-12 .ui-selectonemenu,
.col-md-12 .ui-inputnumber,
.col-md-12 .ui-inputtextarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
}

.col-md-8 .ui-inputfield,
.col-md-8 .ui-selectonemenu,
.col-md-8 .ui-inputnumber,
.col-md-8 .ui-inputtextarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
}

.col-md-6 .ui-inputfield,
.col-md-6 .ui-selectonemenu,
.col-md-6 .ui-inputnumber,
.col-md-6 .ui-inputtextarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
}

.col-md-4 .ui-inputfield,
.col-md-4 .ui-selectonemenu,
.col-md-4 .ui-inputnumber,
.col-md-4 .ui-inputtextarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
}

.col-md-3 .ui-inputfield,
.col-md-3 .ui-selectonemenu,
.col-md-3 .ui-inputnumber,
.col-md-3 .ui-inputtextarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
}

/* Estilos para formularios Bootstrap con PrimeFaces */
.form-horizontal .form-group {
    margin-bottom: 15px;
}

.form-label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #333;
}

/* Asegurar que los campos PrimeFaces respeten el ancho de Bootstrap */
.form-control {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Estilos específicos para PrimeFaces en formularios Bootstrap */
.form-horizontal .ui-inputfield,
.form-horizontal .ui-selectonemenu,
.form-horizontal .ui-inputnumber,
.form-horizontal .ui-inputtextarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Ajustes para los campos de entrada específicos */
.form-horizontal .ui-inputnumber .ui-inputfield {
    width: 100% !important;
    max-width: 100% !important;
}

/* Estilos con máxima especificidad para el formulario de escuelas */
#formulario .form-horizontal .ui-inputfield,
#formulario .form-horizontal .ui-selectonemenu,
#formulario .form-horizontal .ui-inputnumber,
#formulario .form-horizontal .ui-inputtextarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
}

/* Asegurar que las columnas de Bootstrap funcionen correctamente */
.col-md-12,
.col-md-8,
.col-md-6,
.col-md-4,
.col-md-3 {
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}

/* Estilos específicos para combobox de PrimeFaces */
.ui-selectonemenu {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.ui-selectonemenu .ui-selectonemenu-label {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 6px 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    background-color: #fff !important;
}

.ui-selectonemenu .ui-selectonemenu-trigger {
    border-left: 1px solid #ccc !important;
    background-color: #f5f5f5 !important;
}

.ui-selectonemenu-panel {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Estilos para inputNumber de PrimeFaces */
.ui-inputnumber {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.ui-inputnumber .ui-inputfield {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 6px 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
}

/* Estilos para inputTextarea de PrimeFaces */
.ui-inputtextarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.ui-inputtextarea .ui-inputfield {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 6px 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    resize: vertical !important;
}

/* Estilos para selectOneMenu de JSF estándar */
select.form-control {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 6px 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    background-color: #fff !important;
    font-size: 14px !important;
    line-height: 1.42857143 !important;
    color: #555 !important;
}

select.form-control:focus {
    border-color: #66afe9 !important;
    outline: 0 !important;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6) !important;
}

/* Asegurar que todos los elementos de formulario respeten el ancho */
.form-control,
input.form-control,
select.form-control,
textarea.form-control {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Estilos para componentes de calendario de PrimeFaces */
.ui-calendar {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
    margin-bottom: 0 !important;
}

.ui-calendar .ui-inputfield {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 6px 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    background-color: #fff !important;
    font-size: 14px !important;
    line-height: 1.42857143 !important;
    color: #555 !important;
    height: 34px !important;
}

.ui-calendar .ui-inputfield:focus {
    border-color: #66afe9 !important;
    outline: 0 !important;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6) !important;
}

.ui-calendar .ui-button {
    border-left: 1px solid #ccc !important;
    background-color: #f5f5f5 !important;
    height: 34px !important;
    width: 34px !important;
}

/* Asegurar que los calendarios no se superpongan */
.ui-calendar-panel {
    z-index: 9999 !important;
    position: absolute !important;
}

/* Estilos específicos para el formulario de convenios */
.form-group .ui-calendar {
    margin-bottom: 0 !important;
}

/* Responsive para pantallas pequeñas */
@media (max-width: 768px) {
    .tablaPanelGrid .col-8,
    .tablaPanelGrid .col-6,
    .tablaPanelGrid .col-4,
    .tablaPanelGrid .col-3,
    .tablaPanelGrid .col-2 {
        width: 100% !important;
        display: block !important;
    }
    
    .col-md-12,
    .col-md-8,
    .col-md-6,
    .col-md-4,
    .col-md-3 {
        width: 100% !important;
        display: block !important;
    }
}
.selectone .ui-selectonemenu-panel{
    width: 100% !important;
    position: fixed;
}



.ui-messages-info-icon {
    margin-top: 4px;
    display: none !important;
}

.ui-messages-warn-icon,
.ui-messages-error-icon {
    margin-top: 2px;
    display: none !important;
}
span.ui-icon.ui-confirm-dialog-severity.ui-icon-alert {
    margin-top: 3px;
}

.ui-dialog-footer.ui-widget-content,
.ui-dialog .ui-dialog-buttonpane {
    text-align: right;
}

span.ui-button-icon-left.ui-icon.ui-c.fa.fa-close {
    margin-top: -10px;
}

span.ui-button-icon-left.ui-icon.ui-c.fa.fa-save {
    width: 17px;
    height: 17px;
    margin-top: -9px;
}

.ui-tooltip.ui-widget.ui-tooltip-bottom,
.ui-tooltip.ui-widget.ui-tooltip-left,
.ui-tooltip.ui-widget.ui-tooltip-top,
.ui-tooltip.ui-widget.ui-tooltip-right {
    font-size: 9pt;
}

td.ui-panelgrid-cell,
.ui-button.ui-widget {
    font-size: 12pt !important;
}

.ui-icon.ui-icon-close {
    margin-top: 5px;
    display: none;
}

.ui-messages-info,
.ui-messages-warn,
.ui-messages-error,
.ui-messages-fatal {
    padding: 20px 15px !important;
}

.ui-messages-error.ui-corner-all,
.ui-messages-info.ui-corner-all,
.ui-messages-warn.ui-corner-all {
    border-width: 2px;
    text-align: center;
}

.ui-messages-error.ui-corner-all {
    border-color: #b94a48;
}

.ui-messages-info.ui-corner-all {
    background-color: #d9edf7;
    border-color: #bce8f1;
    color: #31708f;
}

.ui-messages-warn.ui-corner-all {
    background-color: #dff0d8;
    border-color: #d6e9c6;
    color: #3c763d;
}

.dataTableHeader {
    background: none !important;
    border: 1px solid #ddd;
    text-align: left !important;
}

.ui-datatable tbody.ui-datatable-data {
    border-top: 2px solid #ddd;
}

.ui-datatable tbody td {
    font-size: 18px;
    font-weight: 300;
}

.ui-datatable tr.ui-state-highlight {
    background: none;
    background-color: #4D92DF;
}

.ui-paginator .ui-paginator-page {
    font-size: 18px;
    font-weight: normal;
}

.ui-paginator .ui-icon {
    height: 16px !important;
}

.anchoCelda {
    width: 40%;
    text-align: right;
}

.ui-tooltip .ui-tooltip-text {
    background-color: #000 !important;
    font-size: 9pt !important;
}

.ui-dialog.ui-widget-content .ui-dialog-titlebar {
    background-color: #545454;
    color: #fff  !important;
    font-weight: normal;
}

.ui-dialog-title {
    text-align: center;
    display: block;
    float: none !important;
    margin: 0 !important;
}

.ui-dialog .ui-dialog-footer {
    text-align: right !important;
}

.ui-panel,
.ui-panel .ui-panel-content {
    padding: 0 !important;
    border: none;
}

.container-inner {
    padding-left: 0;
    padding-right: 0;
}


.ui-selectonemenu .ui-selectonemenu-trigger .ui-icon {
    margin-top: 8px;
}

.ui-selectonemenu.ui-widget.ui-state-default.ui-corner-all.anchoTotal {
    min-width: 100px !important;
}

div.ui-selectonemenu-trigger.ui-state-default.ui-corner-right {
    width: 22px;
}

.row .row-table {
    width: 99.99%;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
    background-image:none;
    background-color: #FFF;
}

.ui-button .btn .btn-danger {
    color: #fff !important;
    background-color: #d9534f !important;
}

.ui-spinner input {
    width: 95%;
}

.ui-selectlistbox-filter.ui-inputfield {
    width: 100% !important;
}

.ui-state-highlight .ui-icon {
    background-image: url("/colegiaturas/javax.faces.resource/images/ui-icons_333333_256x240.png.xhtml?ln=primefaces-bootstrap");
}