@media (min-width: 768px) {
    .sidebar .offcanvas-md {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        left: 0;
        height: 100vh;
        z-index: 1000;
    }
    .navbar-search {
        display: block;
    }
}

/* Let long service names wrap */
.service-cell {
    word-break: break-word;
}

/* Mobile layout */
@media (max-width: 768px) {
    .responsive-table thead {
        display: none; /* hide header */
    }

    .responsive-table,
    .responsive-table tbody,
    .responsive-table tr,
    .responsive-table td {
        display: block;
        width: 100%;
    }

    .responsive-table tr {
        margin-bottom: 1rem;
        border: 1px solid #dee2e6;
        border-radius: 8px;
        padding: 0.75rem;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }

    .responsive-table td {
        padding: 0.4rem 0;
        border: none;
        display: flex;
        justify-content: space-between;
        gap: 1rem;
    }

    .responsive-table td:last-child {
        justify-content: flex-end; /* actions right aligned */
    }
}


.bi {
    vertical-align: -0.125em;
    fill: currentColor;
    display: inline-block;
    width: 1rem;
    height: 1rem;
}

body {
  min-height: 100vh;
  min-height: -webkit-fill-available;
}

html {
  height: -webkit-fill-available;
}

main {
  height: -webkit-fill-available;
}

.dropdown-toggle { outline: 0; }

.btn-toggle {
  padding: .25rem .5rem;
  font-weight: 600;
  color: var(--bs-emphasis-color);
  background-color: transparent;
}
.btn-toggle:hover,
.btn-toggle:focus {
  color: rgba(var(--bs-emphasis-color-rgb), .85);
  background-color: var(--bs-tertiary-bg);
}

.btn-toggle::before {
  width: 1.25em;
  line-height: 0;
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%280,0,0,.5%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e");
  transition: transform .35s ease;
  transform-origin: .5em 50%;
}

[data-bs-theme="dark"] .btn-toggle::before {
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%28255,255,255,.5%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e");
}

.btn-toggle[aria-expanded="true"] {
  color: rgba(var(--bs-emphasis-color-rgb), .85);
}
.btn-toggle[aria-expanded="true"]::before {
  transform: rotate(90deg);
}

.btn-toggle-nav a {
  padding: .1875rem .5rem;
  margin-top: .125rem;
  margin-left: 1.25rem;
}
.btn-toggle-nav a:hover,
.btn-toggle-nav a:focus {
  background-color: var(--bs-tertiary-bg);
}

.scrollarea {
  overflow-y: auto;
}

.active_nav_link {
    background-color: var(--bs-gray-700);
}

up-modal.confirm-dark up-modal-box {
  background-color: var(--bs-dark);
}

td a.text-decoration-none:hover {
    text-decoration: underline !important;
}
