/* BulkOrder — тёмная тема поверх Bootstrap 5 */

:root {
    --bo-bg: #121212;
    --bo-bg-elevated: #1a1a2e;
    --bo-bg-card: #191a2b;
    --bo-border: #2a2b40;
    --bo-text: #e6e6f0;
    --bo-text-muted: #9a9ab0;
    --bo-accent-green: #39ff88;
    --bo-accent-orange: #ff9f43;
    --bo-accent-cyan: #00d9ff;
    --bo-danger: #ff5c7c;

    --bs-body-bg: var(--bo-bg);
    --bs-body-color: var(--bo-text);
    --bs-border-color: var(--bo-border);
    --bs-link-color: var(--bo-accent-cyan);
    --bs-link-hover-color: var(--bo-accent-green);
}

html, body {
    background-color: var(--bo-bg);
    color: var(--bo-text);
    font-size: 13px;
    line-height: 1.4;
}

body {
    padding-bottom: 2rem;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--bo-text);
    font-weight: 600;
}

a { text-decoration: none; }

.navbar-bo {
    background-color: var(--bo-bg-elevated);
    border-bottom: 1px solid var(--bo-border);
}

.navbar-bo .navbar-brand {
    color: var(--bo-accent-green);
    font-weight: 700;
    letter-spacing: .02em;
}

.navbar-bo .nav-link {
    color: var(--bo-text-muted);
    font-size: 13px;
}

.navbar-bo .nav-link.active,
.navbar-bo .nav-link:hover {
    color: var(--bo-accent-cyan);
}

.card {
    background-color: var(--bo-bg-card);
    border: 1px solid var(--bo-border);
    border-radius: .6rem;
}

.card-header {
    background-color: rgba(255, 255, 255, .02);
    border-bottom: 1px solid var(--bo-border);
    font-weight: 600;
}

#myItemsSummaryCard {
    border: 1px solid rgba(0, 217, 255, .35);
    box-shadow: 0 0 0 1px rgba(0, 217, 255, .08), 0 6px 18px rgba(0, 0, 0, .25);
}

.bo-order-card {
    transition: border-color .15s ease, transform .15s ease;
    height: 100%;
}

.bo-order-card:hover {
    border-color: var(--bo-accent-cyan);
    transform: translateY(-2px);
}

.bo-stat {
    background-color: var(--bo-bg-card);
    border: 1px solid var(--bo-border);
    border-radius: .6rem;
    padding: .9rem 1rem;
}

.bo-stat .bo-stat-value {
    font-size: 1.4rem;
    font-weight: 700;
}

.bo-stat.accent-green .bo-stat-value { color: var(--bo-accent-green); }
.bo-stat.accent-orange .bo-stat-value { color: var(--bo-accent-orange); }
.bo-stat.accent-cyan .bo-stat-value { color: var(--bo-accent-cyan); }

.badge-status {
    font-size: 11px;
    padding: .35em .6em;
    border-radius: .4rem;
}

.badge-open { background-color: rgba(57, 255, 136, .15); color: var(--bo-accent-green); border: 1px solid rgba(57, 255, 136, .35); }
.badge-closed { background-color: rgba(255, 92, 124, .15); color: var(--bo-danger); border: 1px solid rgba(255, 92, 124, .35); }
.badge-progress { background-color: rgba(0, 217, 255, .15); color: var(--bo-accent-cyan); border: 1px solid rgba(0, 217, 255, .35); }

.btn-bo-primary {
    background-color: var(--bo-accent-green);
    border-color: var(--bo-accent-green);
    color: #0a0a0a;
    font-weight: 600;
}

.btn-bo-primary:hover {
    background-color: #2ee377;
    border-color: #2ee377;
    color: #0a0a0a;
}

.btn-bo-outline {
    border-color: var(--bo-border);
    color: var(--bo-text);
}

.btn-bo-outline:hover {
    border-color: var(--bo-accent-cyan);
    color: var(--bo-accent-cyan);
}

.form-control, .form-select {
    background-color: #101122;
    border-color: var(--bo-border);
    color: var(--bo-text);
    font-size: 13px;
}

.form-control:focus, .form-select:focus {
    background-color: #101122;
    border-color: var(--bo-accent-cyan);
    color: var(--bo-text);
    box-shadow: 0 0 0 .2rem rgba(0, 217, 255, .15);
}

.form-control::placeholder { color: var(--bo-text-muted); }

.form-label {
    color: var(--bo-text-muted);
    font-size: 12px;
    margin-bottom: .25rem;
}

.table {
    color: var(--bo-text);
    font-size: 12.5px;
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--bo-border);
}

.table > :not(caption) > * > * {
    background-color: transparent;
}

.table thead th {
    color: var(--bo-text-muted);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: .03em;
    border-bottom-width: 1px;
}

.modal-content {
    background-color: var(--bo-bg-elevated);
    border: 1px solid var(--bo-border);
    color: var(--bo-text);
}

.modal-header, .modal-footer {
    border-color: var(--bo-border);
}

.nav-tabs {
    border-bottom-color: var(--bo-border);
}

.nav-tabs .nav-link {
    color: var(--bo-text-muted);
    font-size: 13px;
    border: none;
    border-bottom: 2px solid transparent;
}

.nav-tabs .nav-link.active {
    background-color: transparent;
    color: var(--bo-accent-green);
    border-bottom-color: var(--bo-accent-green);
}

.bo-timeline {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.bo-timeline li {
    position: relative;
    padding: .4rem 0 .4rem 1.4rem;
    border-left: 2px solid var(--bo-border);
    margin-left: .5rem;
}

.bo-timeline li::before {
    content: "";
    position: absolute;
    left: -6px;
    top: .6rem;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--bo-accent-cyan);
}

.bo-timeline li:last-child { border-left-color: transparent; }

.dropdown-menu {
    background-color: var(--bo-bg-elevated);
    border-color: var(--bo-border);
}

.dropdown-item { color: var(--bo-text); font-size: 13px; }
.dropdown-item:hover, .dropdown-item:focus {
    background-color: rgba(255, 255, 255, .05);
    color: var(--bo-accent-cyan);
}

.bo-footer {
    color: var(--bo-text-muted);
    font-size: 11px;
}

/* DataTables dark overrides */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
    color: var(--bo-text-muted);
    font-size: 12px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    color: var(--bo-text) !important;
    border-radius: .35rem;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--bo-accent-cyan) !important;
    color: #0a0a0a !important;
    border-color: var(--bo-accent-cyan) !important;
}

table.dataTable thead th { color: var(--bo-text-muted); }

/* Toastr dark tweaks */
#toast-container > div {
    opacity: .96;
    box-shadow: 0 4px 14px rgba(0,0,0,.4);
}

@media (max-width: 767.98px) {
    html, body { font-size: 13px; }
    .bo-stat .bo-stat-value { font-size: 1.15rem; }
    .card { border-radius: .5rem; }
}
