@font-face {
    font-family: "IBM Plex Sans";
    src: url("fonts/IBMPlexSans-Regular-Latin1.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "IBM Plex Sans";
    src: url("fonts/IBMPlexSans-Italic-Latin1.woff") format("woff");
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: "IBM Plex Sans";
    src: url("fonts/IBMPlexSans-SemiBold-Latin1.woff") format("woff");
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: "IBM Plex Sans";
    src: url("fonts/IBMPlexSans-SemiBoldItalic-Latin1.woff") format("woff");
    font-weight: 700;
    font-style: italic;
}

body {
    font-family: "IBM Plex Sans", sans-serif;
    background-color: var(--bs-body-bg);
    --bs-warning: #e08a1e;
    --bs-warning-rgb: 224, 138, 30;
    --bs-success: #389f1a;
    --bs-success-rgb: 56, 159, 26;
    --bs-danger: #d9334e;
    --bs-danger-rgb: 217, 51, 78;
}

/* Theme-aware logo */
.logo-dark { display: none; }
[data-bs-theme="dark"] .logo-light { display: none; }
[data-bs-theme="dark"] .logo-dark { display: inline; }

/* Buttons: rounder corners and stronger shadow */
.btn {
    border-radius: 0.375rem;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

[data-bs-theme="dark"] .btn-outline-secondary {
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-border-color: rgba(255, 255, 255, 0.3);
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: var(--bs-body-color);
    --bs-btn-hover-border-color: var(--bs-body-color);
}

[data-bs-theme="dark"] .btn {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.5);
}

/* Navbar — match backoffice with adjustments */
nav.navbar {
    padding: 0.4rem 0.5rem;
    margin-bottom: 1rem;
}

nav .navbar-nav a.nav-link {
    font-size: 1.1em;
    text-transform: none;
}

[data-bs-theme="dark"] nav .navbar-nav a.nav-link:hover,
[data-bs-theme="dark"] nav .navbar-nav a.nav-link:focus {
    color: #fff;
}

nav .navbar-nav a.nav-link.active {
    color: var(--bs-navbar-active-color);
}

/* Order status filter buttons */
.btn-group .btn {
    text-transform: none;
    font-size: 0.95em;
    border-radius: 0;
}

.btn-group .btn:first-child {
    border-top-left-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
}

.btn-group .btn:last-child {
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
}

/* Navbar dropdown items */
.navbar .dropdown-menu .dropdown-item {
    color: var(--bs-body-color);
}

.navbar .dropdown-menu .dropdown-item:active {
    color: #fff;
}

/* Breadcrumb */
.breadcrumb {
    padding: 0.75rem 1rem;
}

/* Table headers */
thead th {
    background-color: var(--bs-tertiary-bg) !important;
}

.fas {
    font-size: 0.875rem;
}

h3 > .fas {
    font-size: 0.8em;
}

/* Horizontal timeline */
.timeline-h-item .badge {
    font-size: 0.875rem;
}

.timeline-h-item .text-muted {
    font-size: 0.875em;
}

.timeline-h-arrow {
    padding-top: 0.2em;
}

/* Messages */
.message-staff .card {
    border-left: 3px solid var(--bs-primary);
}

.message-customer .card {
    border-left: 3px solid var(--bs-secondary);
}

/* Login card */
.card-title {
    color: var(--bs-body-color);
}

/* Status badges */
.badge {
    font-size: 0.875rem;
    font-weight: 500;
}

/* Conversation status badges */
.conversation-status .badge,
.conversation-status {
    font-size: 1em;
    padding: 0.45em 0.8em;
}

/* Conversation list hover */
.list-group-item-action:hover {
    background-color: var(--bs-tertiary-bg);
}

/* File upload hint spacing */
input[type="file"] + .form-text {
    margin-top: 0.5em;
}

/* Order list vertical alignment */
.table-orders td {
    vertical-align: middle;
}

/* Striped list group */
.list-group-striped .list-group-item:nth-child(odd) {
    background-color: var(--bs-tertiary-bg);
}

/* Button shadows */
.btn {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
