body {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
  }

  .container {
    width: 90% !important;
    max-width: 90% !important;
  }

  main {
    flex: 1 0 auto;
  }

  .input-field div.error {
    align-content: left;
    position: relative;
    top: -1rem;
    font-size: 0.8rem;
    font-weight: bold;
    color: #ef6804;
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    -o-transform: translateY(0%);
    transform: translateY(0%);
}

.input-field label {
  color: #ff6d00;
  font-size: 0.8rem; 
}

input[type=number]:not(.browser-default):focus:not([readonly]){
  border-bottom: 1px solid #ef6804;
  box-shadow: 0 1px 0 0 #ef6804
}

input[type=number].valid:not(.browser-default), input[type=number].valid:not(.browser-default):focus{
  border-bottom: 1px solid #ef6804;
  box-shadow: 0 1px 0 0 #ef6804
}

input:not([type]),input[type=text],input[type=password],input[type=email],input[type=url],input[type=time],input[type=date],input[type=datetime],input[type=datetime-local],input[type=tel],input[type=number],input[type=search],textarea.materialize-textarea {
  border-bottom: 1px solid #ff6d00;
}

input:not([type]):focus:not([readonly]),input[type=text]:focus:not([readonly]),input[type=password]:focus:not([readonly]),input[type=email]:focus:not([readonly]),input[type=url]:focus:not([readonly]),input[type=time]:focus:not([readonly]),input[type=date]:focus:not([readonly]),input[type=datetime]:focus:not([readonly]),input[type=datetime-local]:focus:not([readonly]),input[type=tel]:focus:not([readonly]),input[type=number]:focus:not([readonly]),input[type=search]:focus:not([readonly]),textarea.materialize-textarea:focus:not([readonly]) {
  border-bottom: 1px solid #ef6804;
  box-shadow: 0 1px 0 0 #ef6804
}

input:not([type]):focus:not([readonly])+label,input[type=text]:focus:not([readonly])+label,input[type=password]:focus:not([readonly])+label,input[type=email]:focus:not([readonly])+label,input[type=url]:focus:not([readonly])+label,input[type=time]:focus:not([readonly])+label,input[type=date]:focus:not([readonly])+label,input[type=datetime]:focus:not([readonly])+label,input[type=datetime-local]:focus:not([readonly])+label,input[type=tel]:focus:not([readonly])+label,input[type=number]:focus:not([readonly])+label,input[type=search]:focus:not([readonly])+label,textarea.materialize-textarea:focus:not([readonly])+label {
  color: #ef6804;
}

/* Estilos para dashboard de mantenedores */
.card.hoverable {
  transition: box-shadow 0.25s, transform 0.25s;
  cursor: pointer;
}

.card.hoverable:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 17px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
}

.card-action a {
  text-decoration: none;
  transition: padding-left 0.3s;
}

.card-action a:hover {
  padding-left: 10px;
}

h4 {
  font-weight: bold;
}

.bold {
  font-weight: bold;
}

label {
  color: #000;
}

[type="radio"]:checked+label:after, [type="radio"].with-gap:checked+label:after {
    background-color: #ef6804;
}
[type="radio"]:checked+label:after, [type="radio"].with-gap:checked+label:before, [type="radio"].with-gap:checked+label:after {
    border: 2px solid #ef6804;
}

[type="checkbox"]:checked+label:before {
    border-right: 2px solid #ef6804 !important;
    border-bottom: 2px solid #ef6804 !important;
}

/* Estilos para selector de tipo de importación en SweetAlert2 */
.swal2-radio-custom {
    text-align: left !important;
}

.swal2-radio-custom label {
    display: block !important;
    padding: 15px !important;
    margin: 10px 0 !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.swal2-radio-custom label:hover {
    border-color: #2196F3 !important;
    background-color: #E3F2FD !important;
}

.swal2-radio-custom input[type="radio"]:checked + label {
    border-color: #2196F3 !important;
    background-color: #E3F2FD !important;
    font-weight: bold !important;
}

/* Estilos para DataTables */
.dataTables_wrapper .dataTables_length {
    float: right !important;
    padding-left: 15px;
}

.dataTables_wrapper .dataTables_length select {
    width: auto;
    display: inline-block;
    padding: 5px 10px;
    margin: 0 5px;
}

.dataTables_wrapper .dataTables_filter {
    float: left !important;
    text-align: left !important;
}

.dataTables_wrapper .dataTables_filter input {
    width: 350px !important;
    display: inline-block;
    margin-left: 5px;
}

.dataTables_wrapper .dataTables_info {
    clear: both;
    float: left;
    padding-top: 10px;
}

.dataTables_wrapper .dataTables_paginate {
    float: right;
    text-align: right;
    padding-top: 10px;
}

/* Menú móvil - Hamburger button */
.button-collapse {
    display: none;
}

@media only screen and (max-width: 992px) {
    .button-collapse {
        display: block;
        margin: 0 18px;
    }
}