body {
    padding-top: 20px;
    background-color: #f8f9fa;
}

.sidebar {
    position: sticky;
    top: 0;
    height: calc(100vh - 20px);
    padding-top: 48px;
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}

.sidebar .nav-link {
    font-weight: 500;
    color: #333;
}

.sidebar .nav-link.active {
    color: #0d6efd;
    background-color: rgba(0, 123, 255, 0.1);
}

.sidebar-sticky {
    position: relative;
    height: calc(100vh - 48px);
    padding-top: .5rem;
    overflow-x: hidden;
    overflow-y: auto;
}

.card {
    margin-bottom: 20px;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.table th {
    background-color: #f8f9fa;
    font-weight: 600;
}

.btn-info {
    background-color: #17a2b8;
    border-color: #17a2b8;
}

.btn-danger {
    background-color: #dc3545;
    border-color: #dc3545;
}

.btn-success {
    background-color: #28a745;
    border-color: #28a745;
}

.order-input {
    text-align: center;
}

.form-check {
    margin-bottom: 5px;
}

/* Drag and drop styles */
.drag-handle {
    cursor: move;
    width: 40px;
    color: #6c757d;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.drag-handle:hover {
    color: #0d6efd;
}
.ui-sortable-helper {
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    background-color: #f8f9fa !important;
}

/* Prevent dotted border on table cells */
table td {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
}

/* jQuery UI sortable placeholder styling */
.ui-state-highlight {
    height: 50px !important;
    background-color: #e6f7ff;
    border: 2px dashed #0d6efd;
}

.modal-content {
    padding: 15px;
}

/* Search box styling */
#account_search {
    min-width: 250px;
}

@media (max-width: 992px) {
    #account_search {
        width: 300px;
    }
}

@media (max-width: 768px) {
    .flex-wrap.gap-3 {
        flex-direction: column;
        align-items: stretch;
    }

    #account_search {
        width: 100%;
    }

    .d-flex.gap-2.align-items-center.flex-grow-1 {
        flex-direction: column;
        gap: 15px !important;
    }
}
