/* ================================
   CORES BASE
   ================================ */
   :root {
    --sidebar-bg: #b8d8e8;
    --navbar-bg: #1a2332;
    --text-color: #1a2332;
    --menu-hover: rgba(0,0,0,0.05);
}

/* 🌙 DARK MODE */
:root[theme~="dark"] {
    --sidebar-bg: #0f1720;
    --navbar-bg: #0b1118;
    --text-color: #e6edf3;
    --menu-hover: rgba(255,255,255,0.06);
}

/* ================================
   NAVBAR
   ================================ */
vaadin-app-layout::part(navbar) {
    background-color: var(--navbar-bg);
    color: var(--text-color);
}

/* ================================
   SIDEBAR
   ================================ */
vaadin-app-layout::part(drawer) {
    background-color: var(--sidebar-bg);
}

/* ================================
   SIDENAV
   ================================ */
vaadin-side-nav {
    background: var(--sidebar-bg);
}

/* itens do menu */
vaadin-side-nav-item::part(content) {
    color: var(--text-color);
    border-radius: 8px;
    font-weight: 500;
}

/* hover */
vaadin-side-nav-item::part(content):hover {
    background-color: var(--menu-hover);
}

/* item ativo */
vaadin-side-nav-item[active]::part(content) {
    background: #4fc3f7;
    color: #0b1118;
}

/* ícone ativo */
vaadin-side-nav-item[active] vaadin-icon {
    color: #0b1118;
}

/* ================================
   LOGO BACKGROUND — logo como background
   ================================ */
   .logo-view-bg {
    isolation: isolate;
}

.logo-view-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('/icons/logo.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    opacity: 0.13;
    pointer-events: none;
    z-index: -1;
}

/* ================================
   RESPONSIVIDADE — GRID SCROLL
   ================================ */

/* Grid com scroll horizontal em telas pequenas */
vaadin-grid {
    overflow-x: auto;
    min-width: 0;
}

/* Toolbar e status bar quebram linha em telas pequenas */
@media (max-width: 768px) {
    vaadin-button {
        font-size: 0.60rem;
    }
}

@media print {

    @page {
        size: A4 portrait;
        margin: 10mm;
    }

    vaadin-app-layout::part(navbar),
    vaadin-app-layout::part(drawer) {
        display: none !important;
    }

    html, body {
        background: white !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body {
        zoom: 1 !important;
    }

    .logo-bg,
    .logo-view-bg {
        background: white !important;
    }

    .logo-bg::before,
    .logo-view-bg::before {
        display: none !important;
        content: none !important;
    }

    vaadin-vertical-layout,
    vaadin-horizontal-layout,
    vaadin-form-layout,
    vaadin-app-layout,
    vaadin-scroller {
        overflow: visible !important;
        height: auto !important;
        max-height: none !important;
    }

    .print-hide {
        display: none !important;
    }

    .print-content {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    img {
        max-width: 100% !important;
        height: auto !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    h3, h4 {
        page-break-after: avoid !important;
        break-after: avoid !important;
    }
}
