/* ==========================================================================
   styles.css - Consolidated and optimized stylesheet
   ========================================================================== */

/* ==========================================================================
   Variables
   ========================================================================== */
:root {
    --primary-color: #2980b9;
    --secondary-color: #3498db;
    --success-color: #27ae60;
    --warning-color: #f39c12;
    --danger-color: #c0392b;
    --light-bg: #f8f9fa;
}

/* ==========================================================================
   Base
   ========================================================================== */
html, body {
    margin: 0;
    padding: 0;
}
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--light-bg);
}

/* ==========================================================================
   Admin Layout (BEM)
   Block: .admin-layout
   Elements: __sidebar, __main, __loading
   ========================================================================== */
.admin-layout__sidebar {
    background: linear-gradient(135deg, #000000, #1a1a1a, #2e2e2e, #3f3f3f, #000000);
    background-size: 400% 400%;
    animation: adminLayoutSidebarGradient 10s ease infinite;
    min-height: 100vh;
    padding: 0;
    box-shadow: 2px 0 15px rgba(0, 0, 0, 0.3);
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
}
@keyframes adminLayoutSidebarGradient {
    0% { background-position: 0% 0%; }
    50% { background-position: 100% 100%; }
    100% { background-position: 0% 0%; }
}
.admin-layout__sidebar .nav-link {
    color: #fff;
    padding: 15px 20px;
    border-radius: 0;
    transition: all 0.3s ease;
}
.admin-layout__sidebar .nav-link:hover,
.admin-layout__sidebar .nav-link.active {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.08);
    border-left: 4px solid var(--danger-color);
}
.admin-layout__sidebar .nav-link i {
    width: 20px;
    margin-right: 10px;
}
.admin-layout__sidebar .text-white-50,
.admin-layout__sidebar .nav-link.text-white-50.small i {
    color: #ffffff !important;
}

.admin-layout__main {
    padding: 20px;
}

.admin-layout__loading {
    display: none;
}
.admin-layout__loading--show {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
}
.spinner-border {
    color: var(--secondary-color);
}

/* Connection status banner */
.connection-status-banner {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    border-radius: 0;
}

/* ==========================================================================
   Cards, Tables, Buttons (shared)
   ========================================================================== */
.card {
    border: none;
    border-radius: 10px;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease;
}
.card:hover { }
.card-header {
    background: linear-gradient(135deg, #e74c3c, #c0392b);
    color: #fff;
    border-radius: 10px 10px 0 0 !important;
    padding: 15px 20px;
    font-weight: 600;
    letter-spacing: 0.5px;
    /* shadow removed to optimize size */
}
.btn {
    border-radius: 6px;
    padding: 10px 20px;
    font-weight: 500;
    transition: all 0.3s ease;
}
.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.btn-outline-primary { background-color: var(--primary-color) !important; color: #fff !important; border: none !important; }
.btn-outline-primary:hover { background-color: #1f618d !important; color: #fff !important; }
.btn.btn-outline-primary { background-color: var(--primary-color) !important; color: #fff !important; border: none !important; }
.btn-outline-primary:focus, .btn-outline-primary:active { background-color: var(--primary-color) !important; color: #fff !important; }
.btn-outline-warning { background-color: #f39c12 !important; color: #fff !important; border: none !important; }
.btn-outline-warning:hover { background-color: #d35400 !important; color: #fff !important; }
.btn.btn-outline-warning { background-color: #f39c12 !important; color: #fff !important; border: none !important; }
.btn-outline-warning:focus, .btn-outline-warning:active { background-color: #f39c12 !important; color: #fff !important; }
.btn-outline-success { background-color: #27ae60 !important; color: #fff !important; border: none !important; }
.btn-outline-success:hover { background-color: #1e8449 !important; color: #fff !important; }
.btn.btn-outline-success { background-color: #27ae60 !important; color: #fff !important; border: none !important; }
.btn-outline-success:focus, .btn-outline-success:active { background-color: #27ae60 !important; color: #fff !important; }
.btn-outline-info { background-color: #1e90ff !important; color: #fff !important; border: none !important; }
.btn-outline-info:hover { background-color: #187bcd !important; color: #fff !important; }
.btn.btn-outline-info { background-color: #1e90ff !important; color: #fff !important; border: none !important; }
.btn-outline-info:focus, .btn-outline-info:active { background-color: #1e90ff !important; color: #fff !important; }
.btn-outline-danger { background-color: #e74c3c !important; color: #fff !important; border: none !important; }
.btn-outline-danger:hover { background-color: #c0392b !important; color: #fff !important; }
.btn.btn-outline-danger { background-color: #e74c3c !important; color: #fff !important; border: none !important; }
.btn-outline-danger:focus, .btn-outline-danger:active { background-color: #e74c3c !important; color: #fff !important; }
.btn-outline-secondary { background-color: #2c3e50 !important; color: #fff !important; border: none !important; }
.btn-outline-secondary:hover { background-color: #1b2631 !important; color: #fff !important; }
.btn.btn-outline-secondary { background-color: #2c3e50 !important; color: #fff !important; border: none !important; }
.btn-outline-secondary:focus, .btn-outline-secondary:active { background-color: #2c3e50 !important; color: #fff !important; }
.btn-outline-dark { background-color: #343a40 !important; color: #fff !important; border: none !important; }
.btn-outline-dark:hover { background-color: #1d2124 !important; color: #fff !important; }
.btn.btn-outline-dark { background-color: #343a40 !important; color: #fff !important; border: none !important; }
.btn-outline-dark:focus, .btn-outline-dark:active { background-color: #343a40 !important; color: #fff !important; }
.btn-outline-light { background-color: #f8f9fa !important; color: #000 !important; border: none !important; }
.btn-outline-light:hover { background-color: #e9ecef !important; color: #000 !important; }
.btn.btn-outline-light { background-color: #f8f9fa !important; color: #000 !important; border: none !important; }
.btn-outline-light:focus, .btn-outline-light:active { background-color: #f8f9fa !important; color: #000 !important; }

/* IDs comunes de recarga para reforzar legibilidad inmediata */
#recargar-productos, #recargar-recientes {
    background-color: var(--primary-color) !important;
    color: #fff !important;
    border: none !important;
}
.btn-outline-fixed.btn-outline-primary { background-color: var(--primary-color) !important; color: #fff !important; border: none !important; }
.btn-outline-fixed.btn-outline-warning { background-color: #f39c12 !important; color: #fff !important; border: none !important; }
.btn-outline-fixed.btn-outline-success { background-color: #27ae60 !important; color: #fff !important; border: none !important; }
.btn-outline-fixed.btn-outline-info { background-color: #1e90ff !important; color: #fff !important; border: none !important; }
.btn-outline-fixed.btn-outline-danger { background-color: #e74c3c !important; color: #fff !important; border: none !important; }
.btn-outline-fixed.btn-outline-secondary { background-color: #2c3e50 !important; color: #fff !important; border: none !important; }
.btn-outline-fixed.btn-outline-dark { background-color: #343a40 !important; color: #fff !important; border: none !important; }
.btn-outline-fixed.btn-outline-light { background-color: #f8f9fa !important; color: #000 !important; border: none !important; }
.table {
    border-radius: 10px;
    overflow: hidden;
}
.table th {
    background-color: var(--primary-color);
    color: #fff;
    border: none;
    font-weight: 600;
}
.table thead {
    background: linear-gradient(180deg, #3b3b3b 0%, #2e2e2e 100%) !important;
    color: #ffffff !important;
    border-bottom: 0 solid #1c1c1c !important;
}
.table thead th {
    text-transform: uppercase;
    text-align: center;
    padding: 10px 8px;
    border-right: 3px solid rgba(255, 255, 255, 0.08);
    background: transparent !important;
}
.table thead th:last-child { border-right: none; }
.table tbody tr:hover { background-color: rgba(50, 50, 50, 0.04); }
.table td { vertical-align: middle; text-align: center; }
.badge { padding: 6px 12px; border-radius: 20px; }
.navbar-brand { font-weight: bold; color: #fff !important; }
.visually-hidden { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link { position: absolute; left: -999px; top: -999px; background: #000; color: #fff; padding: 8px 12px; border-radius: 6px; z-index: 10000; }
.skip-link:focus { left: 10px; top: 10px; }
.btn:focus-visible, .nav-link:focus-visible, .copy-btn:focus-visible, .docs__copy-btn:focus-visible, .btn-close:focus-visible { outline: 3px solid #ffbf47; outline-offset: 2px; }
.admin-layout__sidebar .nav-link[aria-current="page"] { color: #fff; background-color: rgba(255, 255, 255, 0.08); border-left: 4px solid var(--danger-color); }

/* ==========================================================================
   Documentation Page (BEM)
   Block: .docs
   Elements: __hero, __hero-meta, __section, __endpoint-card, __endpoint-head,
             __method-badge, __endpoint-block, __copy-btn, __inline-code-copy,
             __legend-dot--get|post|put|patch|delete
   ========================================================================== */
.docs__hero {
    background: linear-gradient(270deg, #8b0000, #a4161a, #d62828, rgb(247, 33, 0));
    background-size: 400% 400%;
    animation: docsGradientMove 10s ease infinite;
    color: #fff;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
}
.docs__hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.12), rgba(0, 0, 0, 0.25));
    pointer-events: none;
    mix-blend-mode: screen;
}
.docs__hero > * { position: relative; z-index: 1; }
.docs__hero h2 { font-weight: 700; }
.docs__hero-meta {
    background: rgba(0, 0, 0, 0.35);
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(12px);
}
@keyframes docsGradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.docs__method-filter button {
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    padding: 6px 18px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.docs__method-filter button.active {
    background: linear-gradient(135deg, #e74c3c, #c0392b);
    color: #fff;
    box-shadow: 0 8px 20px rgba(231, 76, 60, 0.25);
}
.docs__section {
    border-radius: 12px;
    overflow: hidden;
    border: none;
}
.docs__section .card-header {
    border-radius: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.docs__hero-badge,
.docs__scope-badge,
.docs__status-badge {
    border-radius: 8px;
    padding: 8px 16px;
    font-weight: 600;
}
.docs__hero-badge,
.docs__scope-badge { background: #111; color: #fff; }
.docs__status-badge {
    background: #f4f4f4;
    color: #111;
    border: 1px solid rgba(0, 0, 0, 0.05);
    padding: 6px 12px;
    font-size: 0.85rem;
    box-shadow: none;
}
.docs__endpoint-card {
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
    background: #ffffff;
}
.docs__endpoint-card:last-child { margin-bottom: 0; }
.docs__endpoint-head {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.docs__method-badge {
    min-width: 70px;
    text-align: center;
    padding: 6px 0;
    border-radius: 8px;
    font-weight: 700;
    color: #fff;
}
.docs__method-badge--get { background: var(--success-color); }
.docs__method-badge--post { background: var(--primary-color); }
.docs__method-badge--put { background: #8e44ad; }
.docs__method-badge--patch { background: #d35400; }
.docs__method-badge--delete { background: var(--danger-color); }
.docs__endpoint-block {
    background: #f8fafc;
    border-radius: 8px;
    padding: 16px;
    margin-top: 16px;
}
.docs__endpoint-block table th {
    background: #1f1f1f;
    color: #fff;
    text-transform: uppercase;
    font-size: 0.75rem;
    border-bottom: 2px solid rgba(0, 0, 0, 0.08);
}
.docs__endpoint-block table td {
    border-color: rgba(0, 0, 0, 0.05);
    vertical-align: top;
}
pre.docs__code-sample {
    background: #0a0a0a;
    color: #33ff82;
    padding: 16px;
    border-radius: 12px;
    font-size: 0.9rem;
    margin: 0;
    overflow-x: auto;
}
.docs__copy-wrapper { position: relative; }
.docs__copy-wrapper .docs__code-sample { padding-top: 48px; }
.docs__copy-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    background: #111;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 6px 14px;
    font-size: 0.85rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    opacity: 0.9;
}
.docs__copy-btn:hover,
.docs__inline-code-copy:hover { }
.docs__copy-btn.copied,
.docs__inline-code-copy.copied { background: var(--success-color); color: #fff; }
.docs__copy-btn.copy-error,
.docs__inline-code-copy.copy-error { background: var(--danger-color); color: #fff; }
.docs__inline-code-copy {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(0, 0, 0, 0.3);
    padding: 6px 10px;
    border-radius: 8px;
}
.docs__inline-code-copy code {
    background: transparent;
    padding: 0;
    box-shadow: none;
}
.docs__legend-dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; margin-right: 6px; }
.docs__legend-dot--get { background: var(--success-color); }
.docs__legend-dot--post { background: var(--primary-color); }
.docs__legend-dot--put { background: #8e44ad; }
.docs__legend-dot--patch { background: #d35400; }
.docs__legend-dot--delete { background: var(--danger-color); }

/* ==========================================================================
   Login Page (BEM)
   Block: .login
   Elements: __card, __header, __body, __btn
   ========================================================================== */
body.login-page {
    background: linear-gradient(135deg, #ffffff, rgb(169, 169, 169), rgb(255, 241, 241), rgb(169, 169, 169), #ffffff);
    background-size: 400% 400%;
    animation: loginGradientBG 10s ease infinite;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
@keyframes loginGradientBG {
    0% { background-position: 50% 0%; }
    50% { background-position: 50% 100%; }
    100% { background-position: 50% 0%; }
}
.login__card {
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border-radius: 20px;
    border: none;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    overflow: hidden;
    transition: transform 0.3s ease;
}
.login__card:hover { transform: scale(1.02); }
.login__header {
    background: linear-gradient(270deg, #8b0000, #a4161a, #d62828, rgb(247, 33, 0));
    background-size: 400% 400%;
    animation: loginGradientMove 10s ease infinite;
    color: #fff;
    padding: 2rem;
    text-align: center;
    border-bottom: none;
}
.login__header i { font-size: 3rem; margin-bottom: 1rem; }
.login__body {
    background: rgba(255, 255, 255, 0.7);
    padding: 2rem;
    border-radius: 0 0 20px 20px;
}
.input-group-text {
    background: #fff;
    border: 2px solid #000;
    border-right: none;
    border-radius: 10px 0 0 10px;
    color: #000;
}
.input-group .form-control {
    border: 2px solid #000;
    border-left: none;
    border-radius: 0 10px 10px 0;
    color: #222;
}
.input-group .form-control:focus,
.form-control:focus {
    border-color: #000;
    box-shadow: 0 0 5px rgba(214, 40, 40, 0.6);
}
#togglePassword {
    border: 2px solid #000;
    border-left: none;
    border-radius: 0 10px 10px 0;
    background: #fff;
}
#togglePassword i { color: #000; transition: color 0.3s ease; }
.login__btn {
    background: linear-gradient(270deg, #8b0000, #a4161a, #d62828, rgb(247, 33, 0));
    background-size: 400% 400%;
    animation: loginGradientMove 10s ease infinite;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 0.75rem 2rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}
@keyframes loginGradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.login__btn:hover { transform: translateY(-2px); }
.alert { border-radius: 10px; border: none; color: #222; }
.btn:disabled { opacity: 0.6; cursor: not-allowed; }

/* ==========================================================================
   Ticket Print (BEM)
   Block: .ticket
   Elements: __header, __empresa, __direccion, __info, __productos, etc.
   ========================================================================== */
@page { size: 80mm auto; margin: 0; }
* { box-sizing: border-box; }
body.ticket-print {
    font-family: 'Courier New', monospace;
    font-size: 12px;
    line-height: 1.2;
    color: #000;
    background: #fff;
    width: 80mm;
    padding: 5mm;
}
.ticket__header {
    text-align: center;
    margin-bottom: 15px;
    border-bottom: 1px dashed #000;
    padding-bottom: 10px;
}
.ticket__empresa { font-weight: bold; font-size: 16px; margin-bottom: 5px; }
.ticket__direccion { font-size: 11px; margin-bottom: 2px; }
.ticket__info { margin-bottom: 15px; font-size: 11px; }
.ticket__info div { margin-bottom: 2px; }
.ticket__productos { margin-bottom: 15px; }
.ticket__productos-header {
    border-top: 1px dashed #000;
    border-bottom: 1px solid #000;
    padding: 5px 0;
    font-weight: bold;
    text-align: center;
}
.ticket__producto-item {
    padding: 3px 0;
    border-bottom: 1px dotted #ccc;
}
.ticket__producto-nombre { font-weight: bold; margin-bottom: 1px; }
.ticket__producto-detalle { display: flex; justify-content: space-between; font-size: 11px; }
.ticket__producto-codigo { font-size: 10px; color: #666; }
.ticket__totales { border-top: 1px dashed #000; padding-top: 10px; margin-top: 10px; }
.ticket__total-linea { display: flex; justify-content: space-between; margin-bottom: 3px; font-size: 11px; }
.ticket__total-final {
    display: flex;
    justify-content: space-between;
    font-weight: bold;
    font-size: 14px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 5px 0;
    margin-top: 5px;
}
.ticket__footer { text-align: center; margin-top: 15px; font-size: 10px; border-top: 1px dashed #000; padding-top: 10px; }
.ticket__footer .ticket__gracias { font-weight: bold; margin-top: 10px; }
.ticket__footer .ticket__date { margin-top: 5px; }
.ticket__footer .ticket__note { margin-top: 10px; font-size: 9px; }
.ticket__metodo-pago { text-align: center; margin: 10px 0; font-weight: bold; font-size: 13px; text-transform: uppercase; }
.ticket__actions { text-align: center; margin-top: 20px; }
.ticket__btn { padding: 10px 20px; color: #fff; border: none; border-radius: 5px; cursor: pointer; margin-right: 10px; }
.ticket__btn:last-child { margin-right: 0; }
.ticket__btn--print { background: #007bff; }
.ticket__btn--close { background: #6c757d; }
.no-print { display: block; }
@media print {
    body.ticket-print { width: 80mm; }
    .no-print { display: none !important; }
}

/* ==========================================================================
   Admin Page Specific Utilities
   ========================================================================== */
.sortable-column { cursor: pointer; }
.text-orange { color: #e67e22 !important; }
.text-dark-orange { color: #f39c12 !important; }

/* Ventas page utilities */
.ventas-page .ventas-header { border-bottom: 3px solid #2b2b2b; }
.ventas-page .ventas-date-filter-group { width: 350px; max-width: 100%; }
.ventas-page #btn-limpiar {
    background: linear-gradient(145deg, #1f1f1f, #2b2b2b) !important;
    color: #fff !important;
    border: none !important;
    margin-left: 4px !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    transition: all 0.2s ease;
}
.ventas-page #btn-limpiar:hover {
    background: linear-gradient(145deg, #2b2b2b, #1a1a1a) !important;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.45);
    transform: translateY(-1px);
}
.ventas-page .btn-soft-green { background-color: #3bb273 !important; border: none !important; color: #fff !important; }
.ventas-page .btn-soft-green:hover { background-color: #2f8d5b !important; }
.ventas-page .bg-blue-soft { background-color: #e7edff !important; color: #1e3a8a !important; transition: background-color 0.2s ease, color 0.2s ease; }
.ventas-page .bg-blue-soft:hover { background-color: #c9d4ff !important; color: #152b63 !important; }
.ventas-page .bg-green-soft { background-color: #e6f4ea !important; color: #2e7d32 !important; transition: background-color 0.2s ease, color 0.2s ease; }
.ventas-page .bg-green-soft:hover { background-color: #cde7d5 !important; color: #1f5c22 !important; }
.ventas-page .bg-gray-soft { background-color: #f4f7f9 !important; color: #34495e !important; transition: background-color 0.2s ease, color 0.2s ease; }
.ventas-page .bg-gray-soft:hover { background-color: #e0e6ec !important; color: #1f2a35 !important; }
.ventas-page .bg-gold-soft { background-color: #fff5d7 !important; color: #8c6d1f !important; transition: background-color 0.2s ease, color 0.2s ease; }
.ventas-page .bg-gold-soft:hover { background-color: #ffe1a0 !important; color: #664b14 !important; }
.ventas-page .bg-dark-soft { background-color: #2b2b2b !important; color: #f1f1f1 !important; transition: background-color 0.2s ease; }
.ventas-page .bg-dark-soft:hover { background-color: #1a1a1a !important; }
.ventas-page .ventas-table-head { background-color: #1f1f1f; color: #ffffff; }
.ventas-page .ventas-table { border-radius: 10px; overflow: hidden; }
.ventas-page .ventas-client-name { max-width: 150px; }
.ventas-page .ventas-user-name { max-width: 120px; }
.ventas-page .btn-ventas-view { background-color: #4285f4; color: #fff; }
.ventas-page .btn-ventas-view:hover { background-color: #2f6ed0; }
.ventas-page .badge.bg-success { background-color: #3bb273 !important; transition: background-color 0.2s ease; }
.ventas-page .badge.bg-info { background-color: #4b83f5 !important; transition: background-color 0.2s ease; }
.ventas-page .badge.bg-warning { background-color: #f6c344 !important; color: #333 !important; transition: background-color 0.2s ease, color 0.2s ease; }
.ventas-page .badge.bg-success:hover { background-color: #2c8a58 !important; }
.ventas-page .badge.bg-info:hover { background-color: #3360bf !important; }
.ventas-page .badge.bg-warning:hover { background-color: #d8a229 !important; color: #1c1300 !important; }
.ventas-page .btn-outline-secondary { border-color: #555 !important; color: #333 !important; }
.ventas-page .btn-outline-secondary:hover { background-color: #2b2b2b !important; color: #fff !important; }
.ventas-page .ventas-total-bar { color: #fff; }
.ventas-page .ventas-total-bar tr { background: linear-gradient(135deg, #e74c3c, #c0392b) !important; }
.ventas-page .ventas-total-bar th {
    border: none;
    color: #fff !important;
    background: transparent !important;
    vertical-align: middle;
}
.ventas-page .ventas-total-bar th:last-child {
    border-left: 2px solid rgba(255, 255, 255, 0.35) !important;
    padding-left: 0;
    text-align: center !important;
}

/* ==========================================================================
   Stock badges utilities
   ========================================================================== */
.badge-stock-safe { background-color: #3bb273 !important; color: #fff !important; padding: 0.4em 0.65em; font-weight: 600; }
.badge-stock-count { background-color: #4285f4 !important; color: #fff !important; padding: 0.4em 0.65em; font-weight: 600; }
.badge-stock-alert { background-color: #f39c12 !important; color: #fff !important; padding: 0.4em 0.65em; font-weight: 600; }
.btn-stock-edit {
    background-color: #6f42c1 !important;
    border: none !important;
    color: #fff !important;
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
}
.btn-stock-edit:hover { background-color: #59359c !important; transform: translateY(-1px); }
.stock-critical-row { background-color: rgba(231, 76, 60, 0.08) !important; }
.stock-low-row { background-color: rgba(243, 156, 18, 0.05) !important; }
.stock-critical-row:hover,
.stock-low-row:hover { background-color: rgba(108, 117, 125, 0.1) !important; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 768px) {
    .admin-layout__sidebar {
        position: fixed;
        left: -250px;
        width: 250px;
        z-index: 1000;
        transition: left 0.3s ease;
    }
    .admin-layout__sidebar.show { left: 0; }
    .admin-layout__main { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .admin-layout__sidebar { animation: none; }
    .login__header { animation: none; }
    body.login-page { animation: none; }
    .docs__hero { animation: none; }
    .login__btn { transition: none; }
    .btn, .card:hover, .table tbody tr:hover { transition: none; }
}
/*# sourceMappingURL=/css/styles.css.map */
