/* GENERADO por npm run build:theme. Editar resources/css/theme; ver docs/DISENO.md. */
/* Fuente: tokens/typography.css */
:root {
    --ui-font: 'calibri', 'Segoe UI', system-ui, -apple-system, arial, sans-serif;
    --ui-weight-text: 400;
    --ui-weight-label: 400;
    --ui-weight-heading: 500;
    --ui-weight-product: 800; /* Solo nombres de productos del Visor: negrita moderada. */
    --ui-size-text: 14px;
    --ui-size-control: 14px;
    --ui-size-detail: 13px;
    --ui-nav-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    --ui-nav-size: 15px;
    --ui-nav-size-medium: 14px;
    --ui-nav-size-tablet: 13px;
    --ui-nav-weight: 700;
    --ui-icon-nav-size: 17px;
    --ui-icon-location-size: 17px;
    --ui-icon-logout-size: 17px;
}

/* Fuente: components/typography.css */
html body.nexo-shell.nexo-shell,
html body.print-document-body,
html body.modern-login {
    font-family: var(--ui-font) !important;
    font-weight: var(--ui-weight-text) !important;
}
html
    body.nexo-shell.nexo-shell
    :is(h1, h2, h3, h4, p, label, input, select, textarea, button, a, summary, th, td, small, strong, b),
html body.print-document-body :is(h1, h2, h3, p, label, input, select, button, a, th, td, small, strong, b),
html body.modern-login :is(h1, h2, p, label, input, button, a, small, strong) {
    font-family: var(--ui-font) !important;
}

html body.nexo-shell.nexo-shell :is(h1, h2, h3, h4),
html body.print-document-body :is(h1, h2, h3),
html body.modern-login :is(h1, h2) {
    font-weight: var(--ui-weight-heading) !important;
    letter-spacing: -0.015em !important;
}
html body.nexo-shell.nexo-shell :is(button, .btn, summary, label),
html body.print-document-body :is(button, .print-export) {
    font-weight: var(--ui-weight-label) !important;
}
html body.nexo-shell.nexo-shell :is(strong, b) {
    font-weight: var(--ui-weight-heading) !important;
}
html body.nexo-shell.nexo-shell :is(p, small) {
    font-weight: var(--ui-weight-text) !important;
}

html body.nexo-shell.nexo-shell table th {
    font-weight: var(--ui-weight-heading) !important;
    letter-spacing: 0 !important;
}
html body.nexo-shell.nexo-shell table td,
html body.nexo-shell.nexo-shell :is(input, select, textarea) {
    font-weight: var(--ui-weight-text) !important;
}
html body.nexo-shell.nexo-shell table td :is(strong, b),
html body.nexo-shell.nexo-shell .viewer-product-title {
    font-weight: var(--ui-weight-label) !important;
}

html body.nexo-shell.nexo-shell.viewer-mode #viewerTable .col-description {
    width: 26% !important;
}
html body.nexo-shell.nexo-shell.viewer-mode #viewerTable .viewer-product-title {
    font-family: var(--ui-font) !important;
    font-weight: var(--ui-weight-product) !important;
    font-size: var(--ui-size-text) !important;
    line-height: 1.4 !important;
    color: var(--lw-text) !important;
    text-shadow: none !important;
    -webkit-text-stroke: 0 !important;
}
html body.nexo-shell.nexo-shell.viewer-mode #viewerTable .viewer-product-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 5px;
    font-size: var(--ui-size-detail) !important;
    line-height: 1.4 !important;
    color: var(--lw-text-soft) !important;
}
html body.nexo-shell.nexo-shell.viewer-mode #viewerTable .viewer-code-badge {
    display: inline-flex;
    padding: 1px 6px;
    border: 1px solid var(--lw-badge-border);
    border-radius: 7px;
    color: var(--lw-badge-text);
    background: var(--lw-badge-bg);
    font-weight: 500;
}
html body.nexo-shell.nexo-shell.viewer-mode #viewerTable .viewer-product-meta > span::before {
    content: none !important;
}

/* Mantener esta prioridad sobre temas heredados; no incluir iconos. */
html
    body.nexo-shell.nexo-shell.nexo-shell.nexo-shell
    .content
    :is(h1, h2, h3, h4, p, label, input, select, textarea, button, a, summary, th, td, small, strong, b) {
    font-family: var(--ui-font) !important;
    text-shadow: none !important;
    -webkit-text-stroke: 0 !important;
}
html
    body.nexo-shell.nexo-shell.nexo-shell.nexo-shell
    .content
    :is(p, label, input, select, textarea, button, a, summary, td, small, strong, b) {
    font-weight: var(--ui-weight-text) !important;
}
html body.nexo-shell.nexo-shell.nexo-shell.nexo-shell .content .requisition-table tbody td strong.requisition-product-name { font-weight: 900 !important; }
html body.nexo-shell.nexo-shell.nexo-shell.nexo-shell .content :is(h1, h2, h3, h4, th) {
    font-weight: var(--ui-weight-heading) !important;
}
html body.nexo-shell.nexo-shell.viewer-mode .viewer-command-head h1 {
    font-family: var(--ui-font) !important;
    font-weight: 500 !important;
    color: var(--lw-text) !important;
    text-shadow: none !important;
}
html body.nexo-shell.nexo-shell.viewer-mode .viewer-header-filters select {
    font-family: var(--ui-font) !important;
    font-weight: 400 !important;
}

@media print {
    body.print-document-body .print-order-table :is(th, strong, b) {
        font-weight: 500 !important;
    }
}

/* Tamaños de pantalla: editar estas variables sin alterar impresión ni colores. */
@media screen {
    html body.nexo-shell.nexo-shell.nexo-shell.viewer-mode .content {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.viewer-mode .viewer-command-head {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 16px !important;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.viewer-mode .viewer-command-head > div:first-child {
        flex: 1 1 300px;
        min-width: 0;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.viewer-mode .viewer-command-actions {
        display: flex !important;
        flex: 2 1 880px;
        flex-wrap: wrap !important;
        min-width: 0 !important;
        max-width: 100%;
        gap: 10px !important;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.viewer-mode .viewer-command-actions > .btn {
        flex: 0 1 auto;
        min-width: 0 !important;
        max-width: 100%;
        height: auto !important;
        white-space: normal !important;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.viewer-mode .viewer-header-filters {
        display: flex !important;
        flex: 1 1 640px;
        flex-wrap: wrap !important;
        min-width: 0 !important;
        gap: 8px !important;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.viewer-mode .viewer-header-filters select {
        flex: 1 1 130px;
        width: auto !important;
        max-width: 100%;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.viewer-mode .viewer-header-filters .viewer-filter-submit {
        flex: 0 1 auto;
        width: auto !important;
        min-width: 90px;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.viewer-mode .viewer-filter-bar {
        flex-wrap: wrap;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.viewer-mode .viewer-search {
        min-width: 0;
        flex: 1 1 240px !important;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.viewer-mode #viewerTable {
        width: 100% !important;
        max-width: none !important;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.nexo-shell {
        font-size: var(--ui-size-text) !important;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.nexo-shell :is(.btn, button, summary, label, input, select, textarea, table th, table td) {
        font-size: var(--ui-size-control) !important;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.nexo-shell :is(p, .viewer-product-title) {
        font-size: var(--ui-size-text) !important;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.nexo-shell :is(small, .viewer-product-meta, .viewer-code-badge) {
        font-size: var(--ui-size-detail) !important;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.nexo-shell #viewerTable .viewer-cell-input {
        font-size: var(--ui-size-control) !important;
        min-height: 40px !important;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.nexo-shell #viewerTable .viewer-product-title {
        font-weight: var(--ui-weight-product) !important;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.nexo-shell #viewerTable :is(th, td) {
        width: auto !important;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.nexo-shell #viewerTable .col-description {
        width: 360px !important;
        min-width: 360px !important;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.nexo-shell #viewerTable .viewer-description-cell {
        white-space: normal;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.nexo-shell .viewer-excel-wrap {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: 62vh !important;
        overflow: auto !important;
        scrollbar-width: auto;
    }
    html body.nexo-shell.nexo-shell.nexo-shell.nexo-shell .viewer-excel-wrap::-webkit-scrollbar {
        width: 12px;
        height: 12px;
    }
}
