body.s3-internal#cuerpo { background: #f8f8f8 !important; color: #374151; }
.s3-internal .nav-background, .s3-internal .navbar-color { min-height: 70px; padding: 8px 22px; }
.s3-route { margin-top: 20px; padding: 16px 3%; background: #dbdbdb; text-align: right; font-weight: 600; }
.s3-route a { color: #125da9 !important; }
.s3-page-heading { display: grid; grid-template-columns: 170px 1fr 80px; gap: 40px; align-items: center; padding: 40px 8%; min-height: 230px; }
.s3-page-heading img { width: 100%; height: auto; }
.s3-page-heading .s3-page-icon { width: 65px; max-height: 85px; object-fit: contain; }
.s3-page-heading h1 { font-size: 28px; font-weight: 400; line-height: 1.3; text-align: center; color: #125da9; margin: 0; }
.s3-internal .s3-section-title, .s3-internal h2, .s3-internal h3 { color: #125da9; }
.s3-internal .login-form { width: 100%; max-width: 100%; height: auto; background: none; margin: 0 auto; padding: 24px 0; }
.s3-internal .formulario, .s3-internal .well, .s3-internal .modal-content { background: #fff; color: #374151; border: 1px solid #ddd; border-radius: 4px; box-shadow: 0 2px 3px #0001; }
.s3-internal .formulario { padding: 24px; }
.s3-internal label, .s3-internal .label-menu { color: #374151 !important; font-family: Arial, Helvetica, sans-serif; }
.s3-internal .inputGroupConteiner { padding-top: 10px; padding-bottom: 10px; }
.s3-internal .form-control { background: #fff; color: #374151; border: 1px solid #d5d9de; border-radius: 4px; min-height: 41px; }
.s3-internal select, .s3-internal option { color: #374151; }
.s3-internal .btnMenu:not(nav .btnMenu), .s3-internal .aButton { background: #125da9; color: #fff !important; border: 1px solid #125da9; border-radius: 4px; padding: 10px 16px; min-height: 42px; height: auto; }
.s3-internal .btnSistemas, .s3-internal .tablinks { background: #fff; color: #125da9; border: 1px solid #ddd; border-radius: 4px; box-shadow: none; min-height: 90px; padding: 20px; width: 100%; }
.s3-internal .btnSistemas:hover, .s3-internal .tablinks:hover { background: #edf3f8; border-color: #125da9; }
.s3-internal .btnSistemas h4, .s3-internal .btnSistemas h5 { font-size: 18px; font-weight: 400; }
.s3-internal .divBuscador { width: 100%; background: #edf0f3; padding: 24px 0; }
.s3-internal .contenedorTabla { padding: 16px; border: 1px solid #ddd; border-radius: 4px; }
.s3-table-scroll { max-width: 100%; overflow-x: auto; }
.s3-internal table { color: #374151; background: #fff; width: 100%; }
.s3-internal th { background: #e9eef3; color: #125da9; border-color: #d5d9de; }
.s3-internal td { border-color: #ddd; }
.s3-internal .table-hover tbody tr:hover { background: #edf3f8 !important; }
.s3-internal .card { background: #fff !important; border: 1px solid #ddd; }
.s3-internal .btn-link, .s3-internal .card-body ul li a { color: #125da9 !important; }
.s3-internal .card-body ul li { border-bottom: 1px solid #ddd; }
.s3-internal .card-body ul li:hover { background: #edf3f8 !important; }
.s3-internal .btn-vertical-menu, .s3-internal .card-body ul { font-family: Arial, Helvetica, sans-serif !important; }
.s3-internal .footerBorder { background: #eee; border-top: 1px solid #ddd; padding: 20px; }
.s3-internal .footerText { color: #666; }
.s3-internal .imgBottom, .s3-internal .position-fixed:empty { display: none; }
@media (max-width: 767px) {
 .s3-route { text-align: left; font-size: 14px; }
 .s3-page-heading { grid-template-columns: 1fr 65px; gap: 24px; padding: 28px 24px; }
 .s3-page-heading > img:first-child { width: 150px; }
 .s3-page-heading h1 { grid-row: 2; grid-column: 1 / -1; font-size: 24px; }
 .s3-page-heading .s3-page-icon { grid-column: 2; grid-row: 1; }
 .s3-internal .formulario { padding: 16px; }
 .s3-internal .search, .s3-internal .search input { max-width: 100%; }
 .s3-internal .btnMenu { max-width: 100%; }
 .s3-internal .modal-dialog { width: auto !important; max-width: calc(100% - 20px); margin: 10px; }
}
.s3-internal .btnSistemas { border-image: none; }
.s3-internal .btnSistemas h4, .s3-internal .btnSistemas h5 { background: none; -webkit-text-fill-color: currentColor; color: #125da9; font-family: Arial, Helvetica, sans-serif; padding: 4px 0; }
.s3-internal #noNotificacion { color: #fff !important; }
.s3-internal .navbar-collapse { justify-content: flex-end; }
.s3-internal .contenedorTabla, .s3-internal #contenedortabla { max-width: 100%; overflow-x: auto; }
.s3-internal .tablinks { margin-bottom: 12px; }
/* Accesos del panel de sanciones, agrupados por tipo de persona. */
.s3-dashboard { max-width: 1040px; margin: 0 auto; padding: 0 24px 40px; }
.s3-dashboard-toolbar { display: flex; justify-content: flex-end; gap: 12px; margin-bottom: 20px; }
.s3-notifications { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; min-height: 44px; color: #125da9; background: #fff; border: 1px solid #ccd8e3; border-radius: 6px; cursor: pointer; }
.s3-dashboard #noNotificacion { position: static; width: auto; min-width: 24px; height: auto; padding: 3px 7px; margin: 0; border-radius: 20px; background: #bd2432; font-size: 13px; line-height: 18px; font-weight: bold; }
.s3-action-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.s3-action-group { padding: 24px; border: 1px solid #dce2e8; border-radius: 8px; background: #fff; }
.s3-action-group h2 { font-size: 22px; font-weight: 500; margin: 0 0 22px; }
.s3-action-group > div + div { margin-top: 12px; }
.s3-menu-action { display: flex; justify-content: space-between; align-items: center; gap: 14px; width: 100%; min-height: 64px; padding: 16px; border: 1px solid #dce2e8; border-radius: 5px; background: #f8fafc; color: #125da9; text-align: left; font-size: 16px; cursor: pointer; }
.s3-menu-action > span { font-size: 24px; line-height: 1; }
.s3-menu-action:hover, .s3-notifications:hover { background: #edf3f8; border-color: #125da9; }
@media (max-width: 767px) {
 .s3-dashboard { padding: 0 16px 28px; }
 .s3-action-groups { grid-template-columns: 1fr; gap: 20px; }
 .s3-action-group { padding: 20px; }
}
.s3-list-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.s3-list-toolbar h2 { margin: 0; font-size: 24px; font-weight: 400; }
.s3-internal .s3-form-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: auto; min-width: 104px; min-height: 44px; margin: 0; padding: 10px 18px; border: 1px solid transparent; border-radius: 5px; font: 500 16px/22px Arial, Helvetica, sans-serif; cursor: pointer; }
.s3-internal .s3-form-primary { color: #fff; background: #125da9; border-color: #125da9; }
.s3-internal .s3-form-secondary { color: #4b5563; background: #fff; border-color: #cbd0d6; }
.s3-internal .s3-form-edit { color: #125da9; background: #fff; border-color: #125da9; }
.s3-internal .s3-form-danger { color: #b42332; background: #fff; border-color: #b42332; }
.s3-internal .s3-form-primary:hover { background: #0c477f; }
.s3-internal .s3-form-secondary:hover, .s3-internal .s3-form-edit:hover { background: #edf3f8; }
.s3-internal .s3-form-danger:hover { background: #fff1f2; }
.s3-internal .s3-form-button:disabled { opacity: .55; cursor: not-allowed; }
.s3-form-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 12px; padding-top: 20px; border-top: 1px solid #e1e5ea; }
.s3-selection-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 14px 16px; border: 1px solid #dce2e8; background: #edf3f8; border-radius: 5px; }
.s3-selection-actions > span { margin-right: auto; color: #4b5563; }
.s3-list-actions > br { display: none; }
.s3-list-actions h3 { margin: 20px 0 16px; }
@media (max-width: 575px) {
 .s3-selection-actions > span { flex-basis: 100%; }
 .s3-list-toolbar { align-items: flex-start; }
}
