/* ==========================================================================
   ERP WEB PRO — Base
   --------------------------------------------------------------------------
   Reset suave + tipografia + cores globais. Esta camada veste o Bootstrap 3
   e o AdminLTE 2 herdados, sem alterar nenhuma classe estrutural deles.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Documento
   -------------------------------------------------------------------------- */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body,
.body {
    background-color: var(--erp-bg);
    color: var(--erp-text);
    font-family: var(--erp-font-sans);
    font-size: var(--erp-fs-base);
    line-height: var(--erp-lh-base);
    font-weight: var(--erp-fw-regular);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: -0.005em;
    min-height: 100vh;
}

/* O AdminLTE pinta o fundo em .wrapper/.content-wrapper: padronizamos. */
.wrapper,
.content-wrapper,
.right-side {
    background-color: var(--erp-bg);
}

/* --------------------------------------------------------------------------
   Tipografia
   -------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--erp-text);
    font-family: var(--erp-font-sans);
    font-weight: var(--erp-fw-semibold);
    line-height: var(--erp-lh-tight);
    letter-spacing: -0.015em;
    margin-top: 0;
}

h1, .h1 { font-size: var(--erp-fs-2xl); }
h2, .h2 { font-size: var(--erp-fs-xl); }
h3, .h3 { font-size: var(--erp-fs-lg); }
h4, .h4 { font-size: var(--erp-fs-md); }
h5, .h5 { font-size: var(--erp-fs-base); }
h6, .h6 { font-size: var(--erp-fs-sm); }

p {
    margin: 0 0 12px;
    color: var(--erp-text-soft);
}

small,
.small {
    font-size: var(--erp-fs-sm);
}

strong, b {
    font-weight: var(--erp-fw-semibold);
    color: var(--erp-text);
}

a {
    color: var(--erp-primary);
    text-decoration: none;
    transition: color var(--erp-transition);
}

a:hover,
a:focus {
    color: var(--erp-primary-hover);
    text-decoration: none;
    outline: none;
}

hr {
    border: 0;
    border-top: 1px solid var(--erp-divider);
    margin: 20px 0;
}

code {
    font-family: var(--erp-font-mono);
    font-size: 0.875em;
    color: var(--erp-danger-hover);
    background: var(--erp-danger-soft);
    border-radius: var(--erp-radius-xs);
    padding: 2px 6px;
}

pre {
    font-family: var(--erp-font-mono);
    font-size: var(--erp-fs-sm);
    background: #0f172a;
    color: #e2e8f0;
    border: 0;
    border-radius: var(--erp-radius-sm);
    padding: 16px;
}

/* --------------------------------------------------------------------------
   Seleção e foco — acessibilidade visível e consistente
   -------------------------------------------------------------------------- */
::selection {
    background: var(--erp-primary-soft-2);
    color: var(--erp-primary-active);
}

:focus-visible {
    outline: 2px solid var(--erp-primary);
    outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Barra de rolagem discreta (WebKit + Firefox)
   -------------------------------------------------------------------------- */
* {
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

::-webkit-scrollbar {
    width: 9px;
    height: 9px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background-color: #cbd5e1;
    border-radius: var(--erp-radius-pill);
    border: 2px solid transparent;
    background-clip: content-box;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #94a3b8;
    background-clip: content-box;
}

/* --------------------------------------------------------------------------
   Mídia
   -------------------------------------------------------------------------- */
img {
    max-width: 100%;
}

/* --------------------------------------------------------------------------
   Sobrescrita semântica das cores utilitárias do Bootstrap 3.
   O tema antigo usava !important em várias delas; aqui são normalizadas.
   -------------------------------------------------------------------------- */
.text-primary { color: var(--erp-primary) !important; }
.text-success { color: var(--erp-success) !important; }
.text-warning { color: var(--erp-warning) !important; }
.text-danger  { color: var(--erp-danger) !important; }
.text-info    { color: var(--erp-info) !important; }
.text-muted   { color: var(--erp-text-muted) !important; }

.bg-primary { background-color: var(--erp-primary) !important; }
.bg-success { background-color: var(--erp-success) !important; }
.bg-warning { background-color: var(--erp-warning) !important; }
.bg-danger  { background-color: var(--erp-danger) !important; }
.bg-info    { background-color: var(--erp-info) !important; }

/* Cores legadas do AdminLTE (bg-aqua, bg-green, bg-red, ...) normalizadas */
.bg-aqua,
.bg-light-blue,
.bg-blue { background-color: var(--erp-primary) !important; color: #fff; }

.bg-green,
.bg-olive { background-color: var(--erp-success) !important; color: #fff; }

.bg-yellow,
.bg-orange { background-color: var(--erp-warning) !important; color: #fff; }

.bg-red,
.bg-maroon { background-color: var(--erp-danger) !important; color: #fff; }

.bg-purple,
.bg-navy,
.bg-teal { background-color: var(--erp-info) !important; color: #fff; }

.bg-gray,
.bg-gray-active { background-color: var(--erp-neutral) !important; color: #fff; }

/* --------------------------------------------------------------------------
   Impressão — preserva o comportamento de recibo/relatório existente
   -------------------------------------------------------------------------- */
@media print {
    body {
        background: #fff;
    }

    .no-print,
    .main-header,
    .main-sidebar,
    .main-footer,
    .content-header {
        display: none !important;
    }

    .content-wrapper {
        margin: 0 !important;
        padding: 0 !important;
    }
}
