/* Tipografías locales */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/montserrat-400.ttf') format('truetype');
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/montserrat-600.ttf') format('truetype');
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/montserrat-700.ttf') format('truetype');
}
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/roboto-400.ttf') format('truetype');
}
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/roboto-500.ttf') format('truetype');
}

/* Estilos personalizados del proyecto */

/* Tipografías base */
body {
    font-family: 'Roboto', sans-serif;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
}

/* --- Login --- */
.login-body {
    background-color: #f0f0f0;
}
.login-card {
    border: none;
    border-radius: 12px;
}
.login-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #333;
    font-size: 1.1rem;
}
.login-subtitle {
    color: #777;
    font-size: 0.9rem;
}

/* Logo placeholder */
.logo-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background-color: #FFE600;
    border-radius: 50%;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.6rem;
    color: #333;
}

/* Login form */
.login-card .form-control {
    border-radius: 6px;
    font-size: 0.9rem;
}
.login-card .form-control:focus {
    border-color: #FFE600;
    box-shadow: 0 0 0 0.2rem rgba(255, 230, 0, 0.3);
}
.login-card label {
    font-family: 'Montserrat', sans-serif;
    color: #555;
}

/* Botón ML (amarillo corporativo) */
.btn-ml {
    background-color: #FFE600;
    border-color: #FFE600;
    color: #333;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    border-radius: 6px;
    padding: 10px 20px;
    transition: background-color 0.2s ease;
}
.btn-ml:hover {
    background-color: #e6cf00;
    border-color: #e6cf00;
    color: #333;
}

/* --- Dashboard --- */
.dashboard-body {
    background-color: #f5f5f5;
}

/* Navbar */
.bg-dark-ml {
    background-color: #1a1a2e !important;
}
.brand-ml {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #fff !important;
    display: flex;
    align-items: center;
    gap: 10px;
}
.logo-placeholder-sm {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background-color: #FFE600;
    border-radius: 50%;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.7rem;
    color: #333;
}

/* Cards */
.card-header {
    background-color: #fff;
    border-bottom: 2px solid #FFE600;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}

/* Lista de órdenes */
.orden-item {
    border-left: 3px solid transparent;
    transition: border-color 0.2s;
}
.orden-item.active {
    border-left-color: #4a90d9;
    background-color: #e8f1fb;
    color: #1a3a5c;
}
.orden-num {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.85rem;
}

/* Orden verificada correctamente */
.orden-item.orden-verificada {
    background-color: #edf7f0 !important;
    border-left-color: #5cb85c !important;
}
.orden-item.orden-verificada:hover {
    background-color: #ddf0e4 !important;
}
.orden-item.orden-verificada.active {
    background-color: #e8f1fb !important;
    border-left-color: #4a90d9 !important;
    color: #1a3a5c !important;
}

/* Orden con verificación fallida */
.orden-item.orden-fallida {
    background-color: #fdf0f0 !important;
    border-left-color: #d9534f !important;
}
.orden-item.orden-fallida:hover {
    background-color: #f8e0e0 !important;
}
.orden-item.orden-fallida.active {
    background-color: #e8f1fb !important;
    border-left-color: #4a90d9 !important;
    color: #1a3a5c !important;
}

/* Thumbnail de producto */
.img-thumb {
    width: 44px;
    height: 44px;
    object-fit: contain;
    border-radius: 4px;
    border: 1px solid #dee2e6;
    cursor: zoom-in;
    transition: transform 0.15s ease;
    background-color: #fff;
}
.img-thumb:hover {
    transform: scale(1.15);
}

/* Modal zoom */
#modal-imagen .modal-dialog {
    max-width: 520px;
}
.btn-cerrar-modal {
    position: absolute;
    top: -14px;
    right: -14px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: none;
    background-color: #333;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    z-index: 10;
}
.btn-cerrar-modal:hover {
    background-color: #000;
}

/* Input de barcode */
#input-barcode {
    font-family: 'Roboto', sans-serif;
    font-size: 1rem;
    border-right: none;
}
#input-barcode:focus {
    border-color: #FFE600;
    box-shadow: 0 0 0 0.2rem rgba(255, 230, 0, 0.3);
}
