/*
 * compat.css - Bootstrap 3 to Bootstrap 5 compatibility styles
 */

/* Typography override scoped to content section */
section.content,
section.content input,
section.content select,
section.content textarea,
section.content button {
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px; 
    line-height: 17px;
}
section.content {
    padding:16px !important;
}

/* Images */
.img-circle {
    border-radius: 50%;
}

/* Modal ultra large */
.modal-ulg {
    width: calc(100vw * 0.90) !important;
    max-width: calc(100vw * 0.90) !important;
}

/* Nav pills stacked (BS3 → BS5) */
.nav.nav-pills.nav-stacked,
.nav.nav-stacked {
    flex-direction: column;
}

/* Categoria data list - vertical nav pills */
#categoria-data-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
#categoria-data-list li {
    margin-bottom: 2px;
}
#categoria-data-list li a {
    display: block;
    padding: 10px 15px;
    color: #1abc9c;
    border-radius: 4px;
    text-decoration: none;
    font-size: 14px;
    transition: background-color 0.2s, color 0.2s;
}
#categoria-data-list li a:hover {
    background-color: #f0faf7;
    color: #16a085;
}
#categoria-data-list li.active > a,
#categoria-data-list li.active > a:hover,
#categoria-data-list li.active > a:focus {
    background-color: #1abc9c;
    color: #fff;
}

/* Panels */
.panel {
    margin-bottom: 20px;
    background-color: #fff;
    border: 1px solid transparent;
    border-radius: 4px;
    box-shadow: 0 1px 1px rgba(0,0,0,.05);
}
.panel-heading {
    padding: 10px 15px;
    border-bottom: 1px solid transparent;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}
.panel-body {
    padding: 15px;
}
.panel-default {
    border-color: #ddd;
}
.panel-default > .panel-heading {
    color: #333;
    background-color: #f5f5f5;
    border-color: #ddd;
}
.panel-primary {
    border-color: #337ab7;
}
.panel-primary > .panel-heading {
    color: #fff;
    background-color: #337ab7;
    border-color: #337ab7;
}
.panel-success {
    border-color: #d6e9c6;
}
.panel-success > .panel-heading {
    color: #fff;
    background-color: #5cb85c;
    border-color: #5cb85c;
}
.panel-info {
    border-color: #bce8f1;
}
.panel-info > .panel-heading {
    color: #fff;
    background-color: #5bc0de;
    border-color: #5bc0de;
}
.panel-warning {
    border-color: #faebcc;
}
.panel-warning > .panel-heading {
    color: #fff;
    background-color: #f0ad4e;
    border-color: #f0ad4e;
}
.panel-danger {
    border-color: #ebccd1;
}
.panel-danger > .panel-heading {
    color: #fff;
    background-color: #d9534f;
    border-color: #d9534f;
}
.panel-footer {
    padding: 10px 15px;
    background-color: #f5f5f5;
    border-top: 1px solid #ddd;
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
}
.panel-title {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 16px;
    color: inherit;
}
.panel-title > a {
    color: inherit;
}

/* Fieldset */
fieldset {
    border: none;
    border-top: 0;
    border-radius: 0;
    padding: 0;
    margin-bottom: 1rem;
    background-color: #fff;
}
fieldset legend {
    display: block;
    float: none;
    width: 100%;
    font-size: 1.35rem;
    font-weight: 600;
    color: #4a4f57;
    background-color: #f7f9fc;
    padding: 10px 12px;
    margin: 0 0 8px;
    line-height: inherit;
    border-bottom: 1px solid #dfe3e8;
}
fieldset legend small {
    font-weight: normal;
    font-size: 1.1rem;
    color: #6c757d;
}

/* Well */
.well {
    min-height: 20px;
    padding: 19px;
    margin-bottom: 20px;
    background-color: #f5f5f5;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.05);
}

/* Form classes */
.form-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 10px;
    padding: 5px 0;
}
.form-horizontal .form-group {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
.form-horizontal .control-label {
    flex: 0 0 auto;
    width: 100%;
    margin-bottom: 5px;
    text-align: left;
    padding-right: 0;
}
.form-horizontal .col-md-2 {
    flex: 0 0 auto;
    width: 100%;
}
.form-horizontal .col-md-4 {
    flex: 0 0 auto;
    width: 100%;
}
.form-horizontal .col-md-6 {
    flex: 0 0 auto;
    width: 100%;
}
.form-horizontal .col-md-8 {
    flex: 0 0 auto;
    width: 100%;
}
.form-horizontal .col-md-10 {
    flex: 0 0 auto;
    width: 100%;
}

@media (min-width: 768px) {
    .form-horizontal .control-label {
        width: 33.333333%;
        padding-top: 7px;
        margin-bottom: 0;
        text-align: right;
        padding-right: 15px;
    }
    .form-horizontal .col-md-2 {
        width: 16.666667%;
    }
    .form-horizontal .col-md-4 {
        width: 33.333333%;
    }
    .form-horizontal .col-md-6 {
        width: 50%;
    }
    .form-horizontal .col-md-8 {
        width: 66.666667%;
    }
    .form-horizontal .col-md-10 {
        width: 83.333333%;
    }
    .form-horizontal .col-md-offset-2 {
        margin-left: 16.666667%;
    }
    .form-horizontal .col-md-offset-4 {
        margin-left: 33.333333%;
    }
    .form-horizontal .col-md-offset-8 {
        margin-left: 66.666667%;
    }
}

/* Help block */
.help-block {
    display: block;
    margin-top: 5px;
    margin-bottom: 10px;
    color: #737373;
    font-size: 12px;
}

/* Input group addon */
.input-group-addon {
    padding: 6px 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;
}
.input-group-addon:first-child {
    border-right: 0;
}
.input-group-addon:last-child {
    border-left: 0;
}
.input-group-btn {
    display: table-cell;
}
.input-group-btn .btn {
    border-radius: 0 4px 4px 0;
}

/* Buttons */
.btn-default {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}
.btn-default:hover {
    color: #333;
    background-color: #e6e6e6;
    border-color: #adadad;
}
.btn-xs {
    padding: 1px 5px;
    font-size: 12px;
    border-radius: 3px;
}
.btn-block {
    display: block;
    width: 100%;
}
.btn-block + .btn-block {
    margin-top: 0.5rem;
}

/* Labels */
.label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}
.label-default {
    background-color: #777;
}
.label-primary {
    background-color: #337ab7;
}
.label-secondary {
    background-color: #6c757d;
}
.label-success {
    background-color: #5cb85c;
}
.label-info {
    background-color: #5bc0de;
}
.label-warning {
    background-color: #f0ad4e;
}
.label-danger {
    background-color: #d9534f;
}

/* Alerts */
.alert-alt {
    border: none;
    border-left: 3px solid;
    border-radius: 0;
}
.alert-alt.alert-success {
    border-left-color: #5cb85c;
}
.alert-alt.alert-info {
    border-left-color: #5bc0de;
}
.alert-alt.alert-warning {
    border-left-color: #f0ad4e;
}
.alert-alt.alert-danger {
    border-left-color: #d9534f;
}

/* List group */
.list-group-item {
    position: relative;
    display: block;
    padding: 10px 15px;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid #ddd;
}
.list-group-item:first-child {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}
.list-group-item:last-child {
    margin-bottom: 0;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
}

/* Thumbnail */
.thumbnail {
    display: block;
    padding: 4px;
    margin-bottom: 20px;
    line-height: 1.42857143;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: border .2s ease-in-out;
}

/* Code */
.code {
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}

/* Pull */
.pull-right {
    float: right !important;
}
.pull-left {
    float: left !important;
}

/* Hidden */
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
    display: none !important;
}
.hidden-xs {
    display: block !important;
}
.hidden-sm,
.hidden-md,
.hidden-lg {
    display: block !important;
}

/* Responsive utilities */
@media (max-width: 767px) {
    .visible-xs {
        display: block !important;
    }
    .hidden-xs {
        display: none !important;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .visible-sm {
        display: block !important;
    }
    .hidden-sm {
        display: none !important;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .visible-md {
        display: block !important;
    }
    .hidden-md {
        display: none !important;
    }
}
@media (min-width: 1200px) {
    .visible-lg {
        display: block !important;
    }
    .hidden-lg {
        display: none !important;
    }
}

/* Glyphicon */
.glyphicon {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.glyphicon-search:before { content: "\e003"; }
.glyphicon-pencil:before { content: "\e008"; }
.glyphicon-trash:before { content: "\e020"; }
.glyphicon-ok:before { content: "\e013"; }
.glyphicon-remove:before { content: "\e014"; }
.glyphicon-plus:before { content: "\e001"; }
.glyphicon-minus:before { content: "\e002"; }
.glyphicon-star:before { content: "\e006"; }
.glyphicon-heart:before { content: "\e005"; }
.glyphicon-user:before { content: "\e008"; }
.glyphicon-download:before { content: "\e026"; }
.glyphicon-upload:before { content: "\e027"; }
.glyphicon-refresh:before { content: "\e031"; }
.glyphicon-time:before { content: "\e023"; }
.glyphicon-calendar:before { content: "\e107"; }
.glyphicon-cog:before { content: "\e019"; }
.glyphicon-eye-open:before { content: "\e105"; }
.glyphicon-print:before { content: "\e046"; }

/* Font Awesome fallback */
.fa { font-family: 'Font Awesome 5 Free'; font-weight: 900; }
.fas { font-family: 'Font Awesome 5 Free'; font-weight: 900; }
.far { font-family: 'Font Awesome 5 Free'; font-weight: 400; }
.fab { font-family: 'Font Awesome 5 Brands'; font-weight: 400; }
.fa-pencil:before { content: "\f303"; }
.fa-eye:before { content: "\f06e"; }
.fa-trash:before { content: "\f2ed"; }
.fa-times:before { content: "\f00d"; }
.fa-check:before { content: "\f00c"; }
.fa-plus:before { content: "\f067"; }
.fa-minus:before { content: "\f068"; }
.fa-search:before { content: "\f002"; }
.fa-print:before { content: "\f02f"; }
.fa-download:before { content: "\f019"; }
.fa-upload:before { content: "\f093"; }
.fa-refresh:before { content: "\f021"; }
.fa-cog:before { content: "\f013"; }
.fa-ban:before { content: "\f05e"; }
.fa-file:before { content: "\f15b"; }
.fa-file-o:before { content: "\f15b"; }
.fa-file-code-o:before { content: "\f1c9"; }
.fa-arrow-up:before { content: "\f062"; }
.fa-eraser:before { content: "\f12d"; }
.fa-step-backward:before { content: "\f048"; }
.fa-step-forward:before { content: "\f051"; }
.fa-angle-left:before { content: "\f104"; }
.fa-angle-right:before { content: "\f105"; }

/* Tabs */
.nav-tabs {
    border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
    float: left;
    margin-bottom: -1px;
}
.nav-tabs > li > a {
    margin-right: 2px;
    line-height: 1.42857143;
    border: 1px solid transparent;
    border-radius: 4px 4px 0 0;
    padding: 10px 15px;
    color: #555;
    background-color: transparent;
}
.nav-tabs > li > a:hover {
    border-color: #eee #eee #ddd;
    background-color: #f5f5f5;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
    color: #555;
    background-color: #fff;
    border: 1px solid #ddd;
    border-bottom-color: transparent;
    cursor: default;
}
.tab-content > .tab-pane {
    display: none;
    padding: 15px 0;
}
.tab-content > .active {
    display: block;
}

/* Navbar */
.navbar {
    position: relative;
    min-height: 50px;
    border: 1px solid transparent;
}
.navbar-default {
    background-color: #f8f8f8;
    border-color: #e7e7e7;
}
.navbar-inverse {
    background-color: #222;
    border-color: #080808;
}
.navbar-nav {
    margin: 0;
}
.navbar-nav > li > a {
    padding-top: 15px;
    padding-bottom: 15px;
    line-height: 20px;
    color: #777;
}
.navbar-nav > li > a:hover {
    color: #333;
    background-color: transparent;
}
.navbar-nav > .active > a,
.navbar-nav > .active > a:hover,
.navbar-nav > .active > a:focus {
    color: #555;
    background-color: #e7e7e7;
}
.navbar-header {
    float: left;
    padding: 0 15px;
}
.navbar-brand {
    float: left;
    padding: 15px 15px;
    font-size: 18px;
    line-height: 20px;
    height: 50px;
}
.navbar-toggle {
    position: relative;
    float: right;
    padding: 9px 10px;
    margin-top: 8px;
    margin-right: 15px;
    background-color: transparent;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
}
.navbar-collapse {
    overflow-x: visible;
    padding-right: 15px;
    padding-left: 15px;
    border-top: 1px solid transparent;
}
.navbar-fixed-top,
.navbar-fixed-bottom {
    position: fixed;
    right: 0;
    left: 0;
    z-index: 1030;
}
.navbar-fixed-top {
    top: 0;
    border-width: 0 0 1px;
}
.navbar-fixed-bottom {
    bottom: 0;
    border-width: 1px 0 0;
}

/* Modal */
.modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #000;
    opacity: .5;
}
.modal-header {
    position: relative;
    justify-content: center;
    padding: 15px;
    padding-right: 46px;
    border-bottom: 1px solid #e5e5e5;
    min-height: 16.43px;
}
.modal-header .close {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    margin-top: 0;
    float: none;
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    background: none;
    border: none;
    cursor: pointer;
}
.modal-header .btn-close {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
}
.modal-header .modal-title {
    width: 100%;
    margin: 0;
    text-align: center;
}
.modal-body {
    position: relative;
    padding: 15px;
}
.modal-footer {
    padding: 15px;
    text-align: right;
    border-top: 1px solid #e5e5e5;
}

/* Keep modals over sticky navbars/topbars */
.modal {
    z-index: 1200 !important;
}
.modal-backdrop {
    z-index: 1190 !important;
}

/* Dropdown */
.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 160px;
    padding: 5px 0;
    margin: 2px 0 0;
    font-size: 14px;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: 4px;
    box-shadow: 0 6px 12px rgba(0,0,0,.175);
}
.dropdown-menu.show,
.dropdown.show > .dropdown-menu,
.btn-group.open > .dropdown-menu {
    display: block;
}
.dropdown-menu > li > a {
    padding: 3px 20px;
    color: #333;
    display: block;
    clear: both;
    white-space: nowrap;
}
.dropdown-menu > li > a:hover {
    background-color: #f5f5f5;
    color: #262626;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover {
    background-color: #337ab7;
    color: #fff;
}

/* Pagination */
.pagination {
    margin: 20px 0;
    padding-left: 0;
    display: flex;
    list-style: none;
}
.pagination > li > a,
.pagination > li > span {
    position: relative;
    float: left;
    padding: 6px 12px;
    margin-left: -1px;
    line-height: 1.42857143;
    color: #337ab7;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ddd;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
    margin-left: 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}
.pagination > .active > a,
.pagination > .active > a:hover {
    z-index: 2;
    color: #fff;
    background-color: #337ab7;
    border-color: #337ab7;
    cursor: default;
}

/* Progress */
.progress {
    overflow: hidden;
    height: 20px;
    margin-bottom: 20px;
    background-color: #f5f5f5;
    border-radius: 4px;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
}
.progress-bar {
    float: left;
    width: 0%;
    height: 100%;
    font-size: 12px;
    line-height: 20px;
    color: #fff;
    text-align: center;
    background-color: #337ab7;
    transition: width .6s ease;
}
.progress-bar-success { background-color: #5cb85c; }
.progress-bar-info { background-color: #5bc0de; }
.progress-bar-warning { background-color: #f0ad4e; }
.progress-bar-danger { background-color: #d9534f; }

/* Table */
.table-responsive {
    overflow-x: auto;
    min-height: .01%;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
    padding: 8px;
    line-height: 1.42857143;
    vertical-align: top;
    border-top: 1px solid #ddd;
}
.table-responsive > .table {
    margin-bottom: 0;
}

/* Tooltip */
.tooltip {
    position: absolute;
    z-index: 1070;
    display: block;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.42857143;
    line-height: 1;
    text-align: left;
    text-decoration: none;
    left: 0;
    top: 0;
    transform: none;
    margin-top: 0;
    float: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    white-space: normal;
    line-break: auto;
    font-size: 12px;
    word-wrap: break-word;
    opacity: 0;
}
.tooltip.in {
    opacity: .9;
}
.tooltip-inner {
    max-width: 200px;
    padding: 3px 8px;
    color: #fff;
    text-align: center;
    background-color: #000;
    border-radius: 4px;
}
.tooltip-arrow {
    position: absolute;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
}

/* Popover */
.popover {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1060;
    display: none;
    max-width: 276px;
    padding: 0;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.42857143;
    line-height: 1;
    text-align: left;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    white-space: normal;
    line-break: auto;
    font-size: 14px;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0,0,0,.2);
    border-radius: 6px;
    box-shadow: 0 5px 10px rgba(0,0,0,.2);
}
.popover.top {
    margin-top: -10px;
}
.popover.right {
    margin-left: 10px;
}
.popover.bottom {
    margin-top: 10px;
}
.popover.left {
    margin-left: -10px;
}
.popover-title {
    padding: 8px 14px;
    margin: 0;
    font-size: 14px;
    background-color: #f7f7f7;
    border-bottom: 1px solid #ebebeb;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
.popover-content {
    padding: 9px 14px;
}

/* Carousel */
.carousel {
    position: relative;
}
.carousel-inner {
    position: relative;
    overflow: hidden;
    width: 100%;
}
.carousel-inner > .item {
    position: relative;
    display: none;
    transition: .6s ease-in-out;
}
.carousel-inner > .item.active,
.carousel-inner > .item.next.left,
.carousel-inner > .item.prev.right {
    z-index: 1;
    display: block;
}
.carousel-inner > .item.active {
    left: 0;
}

/* List group */
.list-group {
    padding-left: 0;
    margin-bottom: 20px;
}
.list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #337ab7;
    border-color: #337ab7;
}

/* Panel group */
.panel-group {
    margin-bottom: 20px;
}
.panel-group .panel {
    margin-bottom: 0;
    border-radius: 4px;
}
.panel-group .panel + .panel {
    margin-top: 5px;
}

/* Breadcrumb */
.breadcrumb {
    padding: 8px 15px;
    margin-bottom: 20px;
    list-style: none;
    background-color: #f5f5f5;
    border-radius: 4px;
}
.breadcrumb > li {
    display: inline-block;
}
.breadcrumb > li + li::before {
    padding: 0 5px;
    color: #ccc;
    content: "/\00a0";
}
.breadcrumb > .active {
    color: #777;
}

/* Page header */
.page-header {
    padding-bottom: 9px;
    margin: 40px 0 20px;
    border-bottom: 1px solid #eee;
}

/* Close button */
.close {
    float: right;
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .2;
    cursor: pointer;
}
.close:hover {
    color: #000;
    text-decoration: none;
    opacity: .5;
}

/* Block */
.block {
    margin: 0 0 10px;
    padding: 20px 15px 1px;
    background-color: #fff;
    border: 1px solid #dbe1e8;
    border-radius: 0;
}
.block.full {
    padding: 20px 15px;
}
.block-content {
    padding: 15px;
}
.block .block-content-full {
    margin: -20px -15px -1px;
}
.block .block-content-mini-padding {
    padding: 8px;
}
.block.full .block-content-full {
    margin: -20px -15px;
}
.block .tab-content .block-content-full,
.block.full .tab-content .block-content-full {
    margin-top: -19px !important;
}
.block-header {
    padding: 10px 15px;
    background-color: #f5f5f5;
    border-bottom: 1px solid #ddd;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}

/* Animation */
.animation-slideRight {
    animation: slideRight 0.3s ease-in-out;
}
.animation-slideLeft {
    animation: slideLeft 0.3s ease-in-out;
}
@keyframes slideRight {
    from { transform: translateX(-100%); }
    to { transform: translateX(0); }
}
@keyframes slideLeft {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}

/* Display none */
.display-none {
    display: none !important;
}

/* Sidebar navigation */
.sidebar-nav {
    list-style: none;
    padding: 0;
    margin: 0;
}
.sidebar-nav li {
    position: relative;
}
.sidebar-nav li a {
    display: block;
    padding: 10px 15px;
    color: #555;
    text-decoration: none;
}
.sidebar-nav li a:hover {
    background-color: #f5f5f5;
    color: #333;
}
.sidebar-nav li.active > a {
    background-color: #337ab7;
    color: #fff;
}
.sidebar-nav .sidebar-nav-menu {
    position: relative;
}
.sidebar-nav .sidebar-nav-menu > a {
    padding-right: 40px;
}
.sidebar-nav .sidebar-nav-indicator {
    position: absolute;
    right: 15px;
    top: 15px;
}
.sidebar-nav ul {
    list-style: none;
    padding: 0;
    display: none;
}
.sidebar-nav ul li a {
    padding-left: 30px;
}

/* Chat */
.chat-users {
    list-style: none;
    padding: 0;
    margin: 0;
}
.chat-users li {
    float: left;
    margin: 5px;
}
.chat-users li a {
    display: block;
    position: relative;
}
.chat-users li a span {
    position: absolute;
    top: 0;
    right: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #5cb85c;
}
.chat-users li a.chat-user-away span {
    background-color: #f0ad4e;
}
.chat-users li a.chat-user-busy span {
    background-color: #d9534f;
}
.chat-talk {
    display: none;
}
.chat-talk-messages {
    list-style: none;
    padding: 0;
    margin: 0;
}
.chat-talk-messages li {
    margin-bottom: 10px;
}
.chat-talk-msg {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 4px;
    background-color: #f5f5f5;
}
.chat-talk-msg-highlight {
    background-color: #337ab7;
    color: #fff;
}

/* Sidebar scroll */
#sidebar-scroll {
    overflow-y: auto;
    max-height: 100vh;
}

/* Sidebar alt */
#sidebar-alt {
    display: none;
}

/* Widget */
.widget {
    margin-bottom: 20px;
}
.widget-header {
    padding: 10px 15px;
    background-color: #f5f5f5;
    border-bottom: 1px solid #ddd;
}
.widget-header h3 {
    margin: 0;
    font-size: 16px;
}

/* Form select */
.form_select {
    width: 100%;
}

/* Input slider */
.input-slider {
    width: 100%;
}

/* Theme background */
.themed-background {
    background-color: #337ab7;
    color: #fff;
}

/* Text light */
.text-light {
    color: #fff !important;
}

/* Push top bottom */
.push-top-bottom {
    margin-top: 20px;
    margin-bottom: 20px;
}

/* Preloader */
.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #337ab7;
}
.preloader-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #fff;
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Scroll to top */
#to-top {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 999;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    color: #fff;
    background-color: #337ab7;
    border-radius: 4px;
    text-decoration: none;
}
#to-top:hover {
    background-color: #286090;
    color: #fff;
}

/* Label indicator */
.label-indicator {
    position: absolute;
    top: 5px;
    right: 5px;
    font-size: 10px;
}

/* Animation floating */
.animation-floating {
    animation: floating 2s ease-in-out infinite;
}
@keyframes floating {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

/*
 * PROUI Template Styles (missing in BS5)
 */

/* Block Title */
.block-title {
    margin: -20px -15px 20px;
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}
.block-title h1, .block-title h2, .block-title h3,
.block-title h4, .block-title h5, .block-title h6 {
    display: inline-block;
    font-size: 16px;
    line-height: 1.4;
    margin: 0;
    padding: 10px 16px 7px;
    font-weight: normal;
}
.block-title h1 small, .block-title h2 small, .block-title h3 small,
.block-title h4 small, .block-title h5 small, .block-title h6 small {
    font-size: 13px;
    color: #6c757d;
}
.block-title h1, .block-title h2, .block-title h3 {
    padding-left: 15px;
    padding-right: 15px;
}
.block-title .nav-tabs,
.block-options {
    min-height: 40px;
    line-height: 38px;
}
.block-title .nav-tabs {
    padding: 3px 1px 0;
    border-bottom: none;
    margin-bottom: -2px;
}
.block-title .nav-tabs > li > a {
    border-bottom: none;
    margin-bottom: 0;
}
.block-title .nav-tabs > li > a:hover {
    background: none;
}
.block-title .nav-tabs > li.active > a,
.block-title .nav-tabs > li.active > a:hover,
.block-title .nav-tabs > li.active > a:focus {
    border: 1px solid #dee2e6;
    border-bottom-color: #fff;
    background-color: #fff;
}
.block-options {
    margin: 0 6px;
    line-height: 37px;
}
.block-options .label {
    display: inline-block;
    padding: 6px;
    vertical-align: middle;
    font-size: 13px;
}
.block-top {
    margin: -20px -15px 20px;
    border-bottom: 1px dotted #dee2e6;
}
.block-section {
    margin-bottom: 20px;
}
.block.block-fullscreen {
    position: fixed;
    top: 5px;
    bottom: 5px;
    left: 5px;
    right: 5px;
    z-index: 1031;
    margin-bottom: 0;
    overflow-y: auto;
}

/*
 * Bootstrap 3 Grid Compatibility (XS)
 * Adds missing .col-xs-* classes for legacy markup on top of Bootstrap 5.
 */
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6,
.col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    float: left;
}

.col-xs-12 { width: 100%; }
.col-xs-11 { width: 91.66666667%; }
.col-xs-10 { width: 83.33333333%; }
.col-xs-9 { width: 75%; }
.col-xs-8 { width: 66.66666667%; }
.col-xs-7 { width: 58.33333333%; }
.col-xs-6 { width: 50%; }
.col-xs-5 { width: 41.66666667%; }
.col-xs-4 { width: 33.33333333%; }
.col-xs-3 { width: 25%; }
.col-xs-2 { width: 16.66666667%; }
.col-xs-1 { width: 8.33333333%; }

.col-xs-pull-12 { right: 100%; }
.col-xs-pull-11 { right: 91.66666667%; }
.col-xs-pull-10 { right: 83.33333333%; }
.col-xs-pull-9 { right: 75%; }
.col-xs-pull-8 { right: 66.66666667%; }
.col-xs-pull-7 { right: 58.33333333%; }
.col-xs-pull-6 { right: 50%; }
.col-xs-pull-5 { right: 41.66666667%; }
.col-xs-pull-4 { right: 33.33333333%; }
.col-xs-pull-3 { right: 25%; }
.col-xs-pull-2 { right: 16.66666667%; }
.col-xs-pull-1 { right: 8.33333333%; }
.col-xs-pull-0 { right: auto; }

.col-xs-push-12 { left: 100%; }
.col-xs-push-11 { left: 91.66666667%; }
.col-xs-push-10 { left: 83.33333333%; }
.col-xs-push-9 { left: 75%; }
.col-xs-push-8 { left: 66.66666667%; }
.col-xs-push-7 { left: 58.33333333%; }
.col-xs-push-6 { left: 50%; }
.col-xs-push-5 { left: 41.66666667%; }
.col-xs-push-4 { left: 33.33333333%; }
.col-xs-push-3 { left: 25%; }
.col-xs-push-2 { left: 16.66666667%; }
.col-xs-push-1 { left: 8.33333333%; }
.col-xs-push-0 { left: auto; }

.col-xs-offset-12 { margin-left: 100%; }
.col-xs-offset-11 { margin-left: 91.66666667%; }
.col-xs-offset-10 { margin-left: 83.33333333%; }
.col-xs-offset-9 { margin-left: 75%; }
.col-xs-offset-8 { margin-left: 66.66666667%; }
.col-xs-offset-7 { margin-left: 58.33333333%; }
.col-xs-offset-6 { margin-left: 50%; }
.col-xs-offset-5 { margin-left: 41.66666667%; }
.col-xs-offset-4 { margin-left: 33.33333333%; }
.col-xs-offset-3 { margin-left: 25%; }
.col-xs-offset-2 { margin-left: 16.66666667%; }
.col-xs-offset-1 { margin-left: 8.33333333%; }
.col-xs-offset-0 { margin-left: 0; }

@media (min-width: 768px) {
    .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6,
    .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
        position: relative;
        min-height: 1px;
        padding-right: 15px;
        padding-left: 15px;
        float: left;
    }

    .col-sm-12 { width: 100%; }
    .col-sm-11 { width: 91.66666667%; }
    .col-sm-10 { width: 83.33333333%; }
    .col-sm-9 { width: 75%; }
    .col-sm-8 { width: 66.66666667%; }
    .col-sm-7 { width: 58.33333333%; }
    .col-sm-6 { width: 50%; }
    .col-sm-5 { width: 41.66666667%; }
    .col-sm-4 { width: 33.33333333%; }
    .col-sm-3 { width: 25%; }
    .col-sm-2 { width: 16.66666667%; }
    .col-sm-1 { width: 8.33333333%; }

    .col-sm-pull-12 { right: 100%; }
    .col-sm-pull-11 { right: 91.66666667%; }
    .col-sm-pull-10 { right: 83.33333333%; }
    .col-sm-pull-9 { right: 75%; }
    .col-sm-pull-8 { right: 66.66666667%; }
    .col-sm-pull-7 { right: 58.33333333%; }
    .col-sm-pull-6 { right: 50%; }
    .col-sm-pull-5 { right: 41.66666667%; }
    .col-sm-pull-4 { right: 33.33333333%; }
    .col-sm-pull-3 { right: 25%; }
    .col-sm-pull-2 { right: 16.66666667%; }
    .col-sm-pull-1 { right: 8.33333333%; }
    .col-sm-pull-0 { right: auto; }

    .col-sm-push-12 { left: 100%; }
    .col-sm-push-11 { left: 91.66666667%; }
    .col-sm-push-10 { left: 83.33333333%; }
    .col-sm-push-9 { left: 75%; }
    .col-sm-push-8 { left: 66.66666667%; }
    .col-sm-push-7 { left: 58.33333333%; }
    .col-sm-push-6 { left: 50%; }
    .col-sm-push-5 { left: 41.66666667%; }
    .col-sm-push-4 { left: 33.33333333%; }
    .col-sm-push-3 { left: 25%; }
    .col-sm-push-2 { left: 16.66666667%; }
    .col-sm-push-1 { left: 8.33333333%; }
    .col-sm-push-0 { left: auto; }

    .col-sm-offset-12 { margin-left: 100%; }
    .col-sm-offset-11 { margin-left: 91.66666667%; }
    .col-sm-offset-10 { margin-left: 83.33333333%; }
    .col-sm-offset-9 { margin-left: 75%; }
    .col-sm-offset-8 { margin-left: 66.66666667%; }
    .col-sm-offset-7 { margin-left: 58.33333333%; }
    .col-sm-offset-6 { margin-left: 50%; }
    .col-sm-offset-5 { margin-left: 41.66666667%; }
    .col-sm-offset-4 { margin-left: 33.33333333%; }
    .col-sm-offset-3 { margin-left: 25%; }
    .col-sm-offset-2 { margin-left: 16.66666667%; }
    .col-sm-offset-1 { margin-left: 8.33333333%; }
    .col-sm-offset-0 { margin-left: 0; }
}

@media (min-width: 992px) {
    .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
    .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
        position: relative;
        min-height: 1px;
        padding-right: 15px;
        padding-left: 15px;
        float: left;
    }

    .col-md-12 { width: 100%; }
    .col-md-11 { width: 91.66666667%; }
    .col-md-10 { width: 83.33333333%; }
    .col-md-9 { width: 75%; }
    .col-md-8 { width: 66.66666667%; }
    .col-md-7 { width: 58.33333333%; }
    .col-md-6 { width: 50%; }
    .col-md-5 { width: 41.66666667%; }
    .col-md-4 { width: 33.33333333%; }
    .col-md-3 { width: 25%; }
    .col-md-2 { width: 16.66666667%; }
    .col-md-1 { width: 8.33333333%; }

    .col-md-pull-12 { right: 100%; }
    .col-md-pull-11 { right: 91.66666667%; }
    .col-md-pull-10 { right: 83.33333333%; }
    .col-md-pull-9 { right: 75%; }
    .col-md-pull-8 { right: 66.66666667%; }
    .col-md-pull-7 { right: 58.33333333%; }
    .col-md-pull-6 { right: 50%; }
    .col-md-pull-5 { right: 41.66666667%; }
    .col-md-pull-4 { right: 33.33333333%; }
    .col-md-pull-3 { right: 25%; }
    .col-md-pull-2 { right: 16.66666667%; }
    .col-md-pull-1 { right: 8.33333333%; }
    .col-md-pull-0 { right: auto; }

    .col-md-push-12 { left: 100%; }
    .col-md-push-11 { left: 91.66666667%; }
    .col-md-push-10 { left: 83.33333333%; }
    .col-md-push-9 { left: 75%; }
    .col-md-push-8 { left: 66.66666667%; }
    .col-md-push-7 { left: 58.33333333%; }
    .col-md-push-6 { left: 50%; }
    .col-md-push-5 { left: 41.66666667%; }
    .col-md-push-4 { left: 33.33333333%; }
    .col-md-push-3 { left: 25%; }
    .col-md-push-2 { left: 16.66666667%; }
    .col-md-push-1 { left: 8.33333333%; }
    .col-md-push-0 { left: auto; }

    .col-md-offset-12 { margin-left: 100%; }
    .col-md-offset-11 { margin-left: 91.66666667%; }
    .col-md-offset-10 { margin-left: 83.33333333%; }
    .col-md-offset-9 { margin-left: 75%; }
    .col-md-offset-8 { margin-left: 66.66666667%; }
    .col-md-offset-7 { margin-left: 58.33333333%; }
    .col-md-offset-6 { margin-left: 50%; }
    .col-md-offset-5 { margin-left: 41.66666667%; }
    .col-md-offset-4 { margin-left: 33.33333333%; }
    .col-md-offset-3 { margin-left: 25%; }
    .col-md-offset-2 { margin-left: 16.66666667%; }
    .col-md-offset-1 { margin-left: 8.33333333%; }
    .col-md-offset-0 { margin-left: 0; }
}

@media (min-width: 1200px) {
    .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6,
    .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12,
    .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6,
    .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12 {
        position: relative;
        min-height: 1px;
        padding-right: 15px;
        padding-left: 15px;
        float: left;
    }

    .col-lg-12, .col-xl-12 { width: 100%; }
    .col-lg-11, .col-xl-11 { width: 91.66666667%; }
    .col-lg-10, .col-xl-10 { width: 83.33333333%; }
    .col-lg-9, .col-xl-9 { width: 75%; }
    .col-lg-8, .col-xl-8 { width: 66.66666667%; }
    .col-lg-7, .col-xl-7 { width: 58.33333333%; }
    .col-lg-6, .col-xl-6 { width: 50%; }
    .col-lg-5, .col-xl-5 { width: 41.66666667%; }
    .col-lg-4, .col-xl-4 { width: 33.33333333%; }
    .col-lg-3, .col-xl-3 { width: 25%; }
    .col-lg-2, .col-xl-2 { width: 16.66666667%; }
    .col-lg-1, .col-xl-1 { width: 8.33333333%; }

    .col-lg-pull-12, .col-xl-pull-12 { right: 100%; }
    .col-lg-pull-11, .col-xl-pull-11 { right: 91.66666667%; }
    .col-lg-pull-10, .col-xl-pull-10 { right: 83.33333333%; }
    .col-lg-pull-9, .col-xl-pull-9 { right: 75%; }
    .col-lg-pull-8, .col-xl-pull-8 { right: 66.66666667%; }
    .col-lg-pull-7, .col-xl-pull-7 { right: 58.33333333%; }
    .col-lg-pull-6, .col-xl-pull-6 { right: 50%; }
    .col-lg-pull-5, .col-xl-pull-5 { right: 41.66666667%; }
    .col-lg-pull-4, .col-xl-pull-4 { right: 33.33333333%; }
    .col-lg-pull-3, .col-xl-pull-3 { right: 25%; }
    .col-lg-pull-2, .col-xl-pull-2 { right: 16.66666667%; }
    .col-lg-pull-1, .col-xl-pull-1 { right: 8.33333333%; }
    .col-lg-pull-0, .col-xl-pull-0 { right: auto; }

    .col-lg-push-12, .col-xl-push-12 { left: 100%; }
    .col-lg-push-11, .col-xl-push-11 { left: 91.66666667%; }
    .col-lg-push-10, .col-xl-push-10 { left: 83.33333333%; }
    .col-lg-push-9, .col-xl-push-9 { left: 75%; }
    .col-lg-push-8, .col-xl-push-8 { left: 66.66666667%; }
    .col-lg-push-7, .col-xl-push-7 { left: 58.33333333%; }
    .col-lg-push-6, .col-xl-push-6 { left: 50%; }
    .col-lg-push-5, .col-xl-push-5 { left: 41.66666667%; }
    .col-lg-push-4, .col-xl-push-4 { left: 33.33333333%; }
    .col-lg-push-3, .col-xl-push-3 { left: 25%; }
    .col-lg-push-2, .col-xl-push-2 { left: 16.66666667%; }
    .col-lg-push-1, .col-xl-push-1 { left: 8.33333333%; }
    .col-lg-push-0, .col-xl-push-0 { left: auto; }

    .col-lg-offset-12, .col-xl-offset-12 { margin-left: 100%; }
    .col-lg-offset-11, .col-xl-offset-11 { margin-left: 91.66666667%; }
    .col-lg-offset-10, .col-xl-offset-10 { margin-left: 83.33333333%; }
    .col-lg-offset-9, .col-xl-offset-9 { margin-left: 75%; }
    .col-lg-offset-8, .col-xl-offset-8 { margin-left: 66.66666667%; }
    .col-lg-offset-7, .col-xl-offset-7 { margin-left: 58.33333333%; }
    .col-lg-offset-6, .col-xl-offset-6 { margin-left: 50%; }
    .col-lg-offset-5, .col-xl-offset-5 { margin-left: 41.66666667%; }
    .col-lg-offset-4, .col-xl-offset-4 { margin-left: 33.33333333%; }
    .col-lg-offset-3, .col-xl-offset-3 { margin-left: 25%; }
    .col-lg-offset-2, .col-xl-offset-2 { margin-left: 16.66666667%; }
    .col-lg-offset-1, .col-xl-offset-1 { margin-left: 8.33333333%; }
    .col-lg-offset-0, .col-xl-offset-0 { margin-left: 0; }
}

/* Content Header */
.content-header {
    background-color: #fff;
    border-bottom: 1px solid #dee2e6;
    margin: -10px -5px 10px;
}
.content-header h1, .content-header h2 {
    margin: 0;
    font-size: 26px;
    line-height: 32px;
}
.content-header h1 i, .content-header h2 i {
    display: inline-flex;
    align-items: center;
    margin-right: 8px;
    vertical-align: middle;
    line-height: 1;
}
.content-header small {
    font-size: 17px;
}
.header-section {
    padding: 30px 10px;
}
.content-header-media {
    position: relative;
    height: 248px;
    overflow: hidden;
}
.content-header-media .header-section {
    z-index: 200;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    color: #fff;
    background: rgba(0,0,0,.6);
}
.content-header-media small, .content-header-media i {
    color: #ddd;
}
.content-header-media > img {
    position: absolute;
    top: 0;
    left: 50%;
    width: 2560px;
    height: 248px;
    margin-left: -1280px;
}

/* Item import form: keep raw controls aligned inside container */
#item-form > input#csv.form-control {
    box-sizing: border-box;
    max-width: 100%;
    margin: 0 0 12px;
}
#item-form > button.btn {
    margin-bottom: 14px;
}
#item-form > fieldset {
    min-width: 0;
    margin: 0;
    padding: 12px 14px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
}
#item-form > fieldset > legend {
    width: auto;
    margin-bottom: 8px;
    padding: 0 6px;
    font-size: 18px;
    border: 0;
}

/* Sidebar Content */
.sidebar-content {
    width: 200px;
    color: #fff;
}
.sidebar-section {
    padding: 10px;
}
.sidebar-brand, .sidebar-title {
    height: 50px;
    line-height: 50px;
    padding: 0 10px;
    margin: 0;
    font-weight: 300;
    font-size: 18px;
    display: block;
    color: #fff;
    background: rgba(0,0,0,.15);
}
a.sidebar-brand:hover, a.sidebar-brand:focus,
a.sidebar-title:hover, a.sidebar-title:focus {
    background-color: #1bbae1;
    color: #fff;
    text-decoration: none;
}
.sidebar-brand i, .sidebar-title i {
    font-size: 14px;
    display: inline-block;
    width: 18px;
    text-align: center;
    margin-right: 10px;
    opacity: .5;
}
.sidebar-header {
    margin: 10px 0 0;
    padding: 10px;
    line-height: 12px;
}
.sidebar-header .sidebar-header-title {
    color: #fff;
    font-size: 11px;
    text-transform: uppercase;
    opacity: .5;
}
.sidebar-header-options {
    float: right;
    display: inline-block;
}
.sidebar-header-options > a,
.sidebar-nav .sidebar-header-options a {
    float: right;
    margin: 0;
    padding: 0;
    min-height: 0;
    line-height: inherit;
    display: block;
    min-width: 18px;
    text-align: center;
    color: #fff;
    opacity: .3;
}
.sidebar-header-options a.active,
.sidebar-header-options a:hover,
.sidebar-header-options a:focus {
    background: none;
    color: #fff;
    opacity: 1;
}
.sidebar-user {
    padding-left: 88px;
    background: rgba(255,255,255,.1);
}
.sidebar-user-avatar {
    width: 68px;
    height: 68px;
    float: left;
    padding: 2px;
    margin-left: -78px;
    border-radius: 34px;
    background: rgba(255,255,255,.75);
}
.sidebar-user-avatar img {
    width: 64px;
    height: 64px;
    border-radius: 32px;
}
.sidebar-user-name {
    font-size: 17px;
    font-weight: 300;
    margin-top: 10px;
    line-height: 26px;
}
.sidebar-user-links a {
    color: #fff;
    opacity: .3;
    margin-right: 5px;
}
.sidebar-user-links a:hover, .sidebar-user-links a:focus {
    color: #fff;
    text-decoration: none;
    opacity: 1;
}
.sidebar-user-links a > i {
    font-size: 14px;
}

/* Widget Extended */
.widget-simple {
    padding: 15px;
}
.widget-simple .widget-content {
    font-size: 18px;
    margin: 12px 0;
}
.widget-simple .widget-content small {
    display: block;
    margin-top: 7px;
    font-size: 13px;
    font-weight: 400;
}
.widget-icon {
    display: inline-block;
    width: 64px;
    height: 64px;
    line-height: 64px;
    text-align: center;
    font-size: 28px;
    color: #fff;
    border-radius: 32px;
}

/* Timeline */
.timeline {
    position: relative;
}
.timeline-header {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    padding: 0 15px;
    min-height: 60px;
    line-height: 60px;
    background-color: #fff;
    border-bottom: 2px solid #f0f0f0;
    z-index: 500;
}
.timeline-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.timeline-list:after {
    position: absolute;
    display: block;
    width: 2px;
    top: 0;
    left: 95px;
    bottom: 0;
    content: "";
    background-color: #f0f0f0;
    z-index: 1;
}
.timeline-list li {
    position: relative;
    margin: 0;
    padding: 15px 0;
}
.timeline-list .timeline-icon {
    position: absolute;
    left: 80px;
    top: 10px;
    width: 30px;
    height: 30px;
    line-height: 28px;
    font-size: 14px;
    text-align: center;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 15px;
    z-index: 500;
}
.timeline-list .active .timeline-icon {
    background-color: #1bbae1;
    border-color: #1bbae1;
    color: #fff;
}
.timeline-list .timeline-time {
    float: left;
    width: 70px;
    text-align: right;
}
.timeline-list .timeline-content {
    margin-left: 120px;
}

/* Media Feed */
.media-feed {
    margin-bottom: 0;
}
.media-feed > .media {
    margin-top: 0;
    padding: 20px 20px 0;
    border-top: 1px dotted #dee2e6;
}
.media-feed > .media:first-child {
    border-top: none;
}

/* Task List */
.task-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.task-list li {
    padding: 15px 40px 15px 15px;
    margin-bottom: 10px;
    background-color: #fff;
    border-radius: 3px;
    position: relative;
    transition: box-shadow .15s ease-out;
}
.task-list li:hover {
    box-shadow: 0 5px 5px rgba(0,0,0,.1);
}
.task-list li > .task-close {
    position: absolute;
    top: 15px;
    right: 15px;
    color: #000;
    opacity: 0;
    transition: opacity .2s ease-out;
}
.task-list li:hover > .task-close {
    opacity: .25;
}
.task-list li.task-done {
    opacity: .50;
}
.task-list li.task-done > label {
    text-decoration: line-through;
}

/* Nav Horizontal */
.nav-horizontal {
    padding: 10px 7px 1px;
    margin: 0;
    list-style: none;
}
.nav-horizontal li {
    display: inline-block;
    margin: 0 3px 9px;
}
.nav-horizontal a {
    display: block;
    min-width: 140px;
    border-radius: 3px;
    font-weight: bold;
    text-align: left;
    padding: 8px 10px;
    background-color: #f8f9fa;
}
.nav-horizontal a:hover, .nav-horizontal li.active a {
    background-color: #1bbae1;
    text-decoration: none;
    color: #fff;
}
.nav-horizontal a:focus {
    text-decoration: none;
}
.nav-horizontal a:hover i, .nav-horizontal li.active a i {
    color: #fff;
    opacity: .6;
}
.nav-horizontal i {
    display: inline-block;
    font-size: 14px;
    color: #dee2e6;
    margin-right: 5px;
}

/* Breadcrumb Top */
.breadcrumb-top {
    margin: -10px -5px 10px;
    padding: 7px 10px;
    border-bottom: 1px solid #dee2e6;
    font-size: 12px;
    background-color: #fff;
}

/* Form Bordered */
.form-bordered {
    margin: -15px -15px -1px;
}
.modal-body .form-bordered {
    margin: 0;
    padding: 15px;
}

/* Override Bootstrap 5 make-row mixin - remove negative margins */
.row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Override btn-info */
.btn-info {
    background-color: #5278FF !important;
    border-color: #5278FF !important;
    color: #fff !important;
}
    
.form-bordered fieldset legend {
    margin: 0;
    padding-left: 20px;
    padding-right: 20px;
    background: transparent;
    border-bottom: 0;
}
.form-bordered .form-group {
    margin: 0;
    border: none;
    padding: 15px;
    border-bottom: 1px dashed #dee2e6;
}
.form-bordered .form-group:last-child {
    border-bottom: 0;
}
.form-bordered .form-group.form-actions {
    background-color: #f8f9fa;
    border-bottom: none;
}

.form-horizontal.form-bordered .form-group {
    padding-left: 0;
    padding-right: 0;
}
.form-bordered .help-block {
    margin-bottom: 0;
}

/* Form Control Borderless */
.form-control-borderless .form-control,
.form-control-borderless .input-group-addon,
.form-control-borderless,
.form-control-borderless:focus {
    border: transparent !important;
}

/* Switch */
.switch {
    margin: 1px 0;
    position: relative;
    cursor: pointer;
    display: inline-block;
    vertical-align: middle;
}
.switch input {
    position: absolute;
    opacity: 0;
}
.switch span {
    position: relative;
    display: inline-block;
    width: 54px;
    height: 28px;
    border-radius: 28px;
    background-color: #f8f9fa;
    border: 1px solid #ddd;
    transition: background-color .35s;
}
.switch span:after {
    content: "";
    position: absolute;
    left: 2px;
    top: 1px;
    bottom: 1px;
    width: 24px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 50%;
    box-shadow: 1px 0 3px rgba(0,0,0,.05);
    transition: all .15s ease-out;
}
.switch input:checked + span:after {
    left: 26px;
    border: none;
    box-shadow: -2px 0 3px rgba(0,0,0,.1);
}
.switch input:checked + span {
    background-color: #eee;
}
.switch-default span { border-color: #dee2e6; }
.switch-default input:checked + span { background-color: #dee2e6; }
.switch-primary span { border-color: #1bbae1; }
.switch-primary input:checked + span { background-color: #1bbae1; }
.switch-info span { border-color: #7abce7; }
.switch-info input:checked + span { background-color: #7abce7; }
.switch-success span { border-color: #aad178; }
.switch-success input:checked + span { background-color: #aad178; }
.switch-warning span { border-color: #f7be64; }
.switch-warning input:checked + span { background-color: #f7be64; }
.switch-danger span { border-color: #ef8a80; }
.switch-danger input:checked + span { background-color: #ef8a80; }

/* Table Helpers */
.table-vcenter th, .table-vcenter td {
    vertical-align: middle;
}
.table-borderless tbody > tr > th, .table-borderless tbody > tr > td {
    border-top-width: 0;
}
.table-options {
    padding: 6px 0;
}

/* Helper Classes */
.push-bit {
    margin-bottom: 10px !important;
}
.push {
    margin-bottom: 15px !important;
}
.remove-margin {
    margin: 0 !important;
}
.remove-margin-bottom {
    margin-bottom: 0 !important;
}
.remove-padding {
    padding: 0 !important;
}
.remove-radius {
    border-radius: 0 !important;
}
.remove-box-shadow {
    box-shadow: none !important;
}
.remove-transition {
    transition: none !important;
}
.sub-header {
    margin: 10px 0 20px;
    padding: 10px 0;
    border-bottom: 1px dotted #ddd;
}

/* Themed Colors */
.themed-color { color: #1bbae1; }
.themed-border { border-color: #1bbae1; }
.themed-background-dark { background-color: #394263; color:white; padding:2px 5px 2px 5px }
.themed-background-danger { background-color: #e74c3c !important; }
.themed-background-warning { background-color: #e67e22 !important; }
.themed-background-info { background-color: #3498db !important; }
.themed-background-success { background-color: #27ae60 !important; }
.themed-background-muted { background-color: #999 !important; }
.themed-background-muted-light { background-color: #f8f9fa !important; }

/* Dropdown Submenu */
.dropdown-submenu {
    position: relative;
}
.dropdown-submenu > .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -3px;
    margin-left: 0;
}
.dropdown-submenu:hover > .dropdown-menu {
    display: block;
}
.dropdown-submenu.pull-left {
    float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
    left: -100%;
    margin-left: 10px;
}
.dropdown-header {
    padding: 5px 10px;
    color: #394263;
    background-color: #f8f9fa;
    border-top: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
}

/* Dropdown Custom */
.dropdown-menu.dropdown-custom {
    min-width: 200px;
    z-index: 2050;
}
.dropdown-menu.dropdown-custom > li {
    padding: 4px 0;
    font-size: 12px;
}
.dropdown-menu.dropdown-custom > li > a {
    display: block;
    padding: 6px 12px;
    border-radius: 3px;
}
.dropdown-menu .divider {
    margin: 2px 0;
    padding: 0 !important;
    background-color: #f0f0f0;
}

/* DataTables actions dropdown: avoid clipping inside responsive wrapper */
#localdataview_wrapper .table-responsive {
    overflow: visible;
}

/* Gallery */
.gallery img, .gallery a img, .gallery-image img {
    max-width: 100%;
}
.gallery a:hover img, .gallery-image:hover img {
    opacity: .75;
}
.gallery-image {
    position: relative;
}
.gallery-image-options {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: none;
    padding: 10px;
}
.gallery-image:hover .gallery-image-options {
    display: block;
}

/* Calendar Events */
.calendar-events {
    list-style: none;
    margin: 0;
    padding: 0;
}
.calendar-events li {
    color: #fff;
    margin-bottom: 5px;
    padding: 5px 10px;
    border-radius: 3px;
    background-color: #555;
    opacity: .85;
}
.calendar-events li:hover {
    cursor: move;
    opacity: 1;
}

/* Chart */
.chart {
    height: 360px;
}
.chart-tooltip, .mini-chart-tooltip {
    position: absolute;
    display: none;
    color: #fff;
    background-color: #000;
    padding: 4px 10px;
}
.chart-pie-label {
    font-size: 12px;
    text-align: center;
    padding: 8px 12px;
    color: #fff;
}

/* Countdown */
.countdown-con {
    color: #fff;
    text-align: center;
}
.countdown-con .countdown-num {
    font-size: 56px;
    font-weight: bold;
}
.countdown-con .countdown-info {
    font-size: 16px;
    color: rgba(255,255,255,.6);
}

/* Full Page */
.full-page-container {
    position: absolute;
    width: 300px;
    padding: 10px;
    top: 20px;
    left: 50%;
    margin-left: -150px;
    z-index: 1000;
    background-color: rgba(0,0,0,.5);
}

/* Login */
#login-background {
    width: 100%;
    height: 224px;
    overflow: hidden;
    position: relative;
}
#login-background > img {
    position: absolute;
    width: 2560px;
    height: 400px;
    left: 50%;
    margin-left: -1280px;
}
#login-container {
    position: absolute;
    width: 300px;
    top: 10px;
    left: 50%;
    margin-left: -150px;
    z-index: 1000;
}

/* Error */
#error-container {
    padding: 120px 20px;
    position: relative;
}
#error-container h1 {
    font-size: 96px;
    color: #fff;
    margin-bottom: 40px;
}
#error-container h2 {
    color: #ccc;
    margin-bottom: 40px;
    line-height: 1.4;
}

/* Pricing Table */
.table-pricing th, .table-pricing td {
    text-align: center;
}
.table-pricing th {
    font-size: 24px !important;
}
.table-pricing td {
    font-size: 15px;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}
.table-pricing .table-price {
    background-color: #f8f9fa;
}
.table-pricing.table-featured .table-price,
.table-pricing .table-price.table-featured {
    background-color: #252525;
}
.table-pricing.table-featured th,
.table-pricing th.table-featured {
    background-color: #1bbae1;
    border-bottom: 2px solid #394263;
    color: #fff;
}
.table-pricing.table-featured td,
.table-pricing td.table-featured {
    background-color: #394263;
    color: #fff;
}

/* Chat UI */
.chatui-container {
    position: relative;
}
.chatui-people, .chatui-talk {
    overflow-y: hidden;
}
.chatui-people .chatui-header {
    font-size: 14px;
    line-height: 14px;
    color: #999;
    text-transform: uppercase;
    padding: 5px 20px;
}
.chatui-people .list-group-item {
    background: transparent;
    min-height: 52px;
    border: 0;
    border-radius: 0 !important;
}
.chatui-people .list-group-item:hover,
.chatui-people .list-group-item:focus {
    background: rgba(0,0,0,.2);
}
.chatui-talk ul {
    padding: 15px;
    margin: 0;
    list-style: none;
}
.chatui-talk li {
    padding: 5px 10px;
    margin-bottom: 7px;
}
.chatui-talk .chatui-talk-msg {
    padding: 15px 10px;
    border-left: 5px solid #333;
    background-color: #f6f6f6;
    position: relative;
}
.chatui-talk .chatui-talk-msg.chatui-talk-msg-highlight {
    padding-left: 50px;
    border-left: none;
    border-right-width: 5px;
    border-right-style: solid;
}
.chatui-input {
    height: 50px;
    line-height: 50px;
    border-top: 1px solid #eee;
}

/* Test Circle */
.test-circle {
    display: inline-block;
    width: 100px;
    height: 100px;
    line-height: 100px;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    border-radius: 50px;
    background-color: #eee;
    border: 2px solid #ccc;
    color: #fff;
    margin-bottom: 15px;
}

/* Content Float */
.content-float .pull-left {
    margin: 0 20px 20px 0;
}
.content-float .pull-right {
    margin: 0 0 20px 20px;
}

/* Draggable */
.draggable-blocks .block-title {
    cursor: move;
}
.draggable-placeholder {
    background-color: #ddd;
    border: 1px dashed #999;
    margin-bottom: 10px;
}

/* List Li Push */
.list-li-push li {
    margin-bottom: 10px;
}

/* Auth cover visual: hide on mobile, show on desktop */
@media (max-width: 991.98px) {
    .auth-cover-visual {
        display: none !important;
    }
}
.auth-cover-visual {
    background: #057A5C !important;
    position: relative;
    overflow: hidden;
}
.auth-cover-image {
    position: absolute;
    inset: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}
.auth-cover-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 16px;
}

/* Login brand */
.auth-form-brand {
    display: block !important;
    text-align: center;
}
/* Login logo */
.auth-form-brand img {
    width: 180px !important;
    height: auto;
    display: block;
    margin: 0 auto;
}
.auth-form-brand div {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    overflow: visible !important;
}
.auth-form-brand-name {
    font-size: 12em;
}
        display: none !important;
    }
}

/* Auth brand: force text visibility */
.auth-form-brand div {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: auto !important;
    overflow: visible !important;
    pointer-events: auto !important;
}

/* Directorio sidebar logo */
.logo_directorio_icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 50%;
}

/* Brand mark circular */
.sidebar .brand-mark {
    border-radius: 50% !important;
    border: none !important;
    overflow: hidden;
    padding: 0;
    background: transparent !important;    
}

.modo-pdv-cocina{
    height: calc(100vh - 220px) !important;
    max-height: calc(100vh - 220px) !important;
}

/* Modo Desarrollo indicator */
.modo-desarrollo-indicador {
    display: block;
    background-color: #dc3545;
    color: #fff !important;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border: 1px solid #a71d2a;
    animation: pulse-dev 2s ease-in-out infinite;
    text-align: center;
    max-width: fit-content;
    margin: 0 auto;
}
@keyframes pulse-dev {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* Widget icon separation */
.widget-simple .widget-icon.pull-left {
    margin-right: 12px;
}

/* Login subtitle */
.login-subtitle {
    font-size: 18px;
    text-align: center;
    margin: 0;
    font-weight: 600;
}

/* Sel tarjetas flex when visible */
#sel_tarjetas_credito[style*="display: flex"],
#sel_tarjetas_debito[style*="display: flex"] {
    display: flex !important;
}

/* Topbar thinner */
.topbar {
    min-height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

/* Plan Info table */
.plan-info-table {
    min-width: 50px;
    height: 100%;
    padding: 2px 5px;
    line-height: 15px;
    text-align: center;
    color: #262626;
    font-size: 14px;
    background-color: #f3f3f5;
    border-collapse: collapse;
    width: 100%;
}
.plan-info-table th,
.plan-info-table td {
    border: 1px solid #d7d7da !important;
    padding: 3px 8px;
    vertical-align: middle;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.d-inline-block:has(.plan-info-table) {
    max-width: 100%;
    overflow-x: auto;
}
.control-busqueda{
    margin-top:40px;
    margin-bottom:10px;
}
.row.no-gutter {
    --bs-gutter-x: 0px;
    --bs-gutter-y: 1px;
}
.btn-alt{
    margin-left: 1px;
}