/* TIPIadmin Bootstrap 5 bridge for the legacy AdminLTE 2 shell. */
:root {
    --tipi-admin-border: #d2d6de;
    --tipi-admin-muted: #6c757d;
}

.form-group { margin-bottom: 1rem; }
.help-block { display: block; margin-top: .25rem; color: var(--tipi-admin-muted); }
.btn-default { --bs-btn-color: #333; --bs-btn-bg: #fff; --bs-btn-border-color: #ccc; --bs-btn-hover-bg: #e6e6e6; --bs-btn-hover-border-color: #adadad; }
.btn-xs,
.tipi-btn-xs { --bs-btn-padding-y: .125rem; --bs-btn-padding-x: .375rem; --bs-btn-font-size: .75rem; --bs-btn-border-radius: .2rem; }
.btn-block { display: block; width: 100%; }
.pull-right { float: right !important; }
.pull-left { float: left !important; }
.hidden-xs { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (min-width: 576px) {
    .hidden-xs { display: initial !important; }
}

.input-group-btn,
.tipi-input-group-btn { display: flex; }
.input-group-btn > .btn,
.tipi-input-group-btn > .btn { position: relative; z-index: 2; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.has-feedback { position: relative; }
.form-control-feedback { position: absolute; top: 0; right: 0; z-index: 2; display: block; width: 34px; height: 34px; line-height: 34px; text-align: center; pointer-events: none; }
.has-feedback .form-control { padding-right: 42px; }

/* AdminLTE 2 expects compact Bootstrap 3 defaults. */
.main-header .navbar { padding: 0; border: 0; border-radius: 0; min-height: 50px; }
.main-header .navbar-nav { flex-direction: row; margin: 0; padding-left: 0; }
.main-header .navbar-custom-menu { margin-left: auto; }
.main-header .navbar-custom-menu > .navbar-nav > li { position: relative; }
.main-header .navbar-custom-menu > .navbar-nav > li > a { display: block; padding: 15px; line-height: 20px; text-decoration: none; }
.main-header .dropdown-menu { right: 0; left: auto; }
.main-header .user-footer::after { display: block; clear: both; content: ""; }
.sidebar-toggle { text-decoration: none; }

.content-wrapper .row,
.login-box .row { --bs-gutter-x: 30px; }
.box .table { margin-bottom: 0; }
.table-responsive { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Bootstrap 5 no longer ships Glyphicons; panel already loads Font Awesome. */
.glyphicon { display: inline-block; font-family: FontAwesome; font-style: normal; font-weight: normal; }
.glyphicon-envelope::before { content: "\f0e0"; }
.glyphicon-lock::before { content: "\f023"; }

.modal .close { border: 0; background: transparent; font-size: 1.5rem; line-height: 1; }
.fade.in { opacity: 1; }
.progress .bar { height: 100%; background: var(--bs-primary); transition: width .6s ease; }
.nav-tabs > li > a { display: block; padding: .5rem 1rem; text-decoration: none; }
.nav-tabs > li.active > a { color: #495057; background: #fff; border: 1px solid #dee2e6; border-bottom-color: transparent; }

@media (max-width: 767.98px) {
    .main-header .navbar-custom-menu { position: absolute; top: 0; right: 0; }
    .main-header .navbar-custom-menu .dropdown-menu { position: absolute; }
}
