/* =====================================================
   Estilos customizados - Sistema de Papelaria
   ===================================================== */

:root {
    --largura-sidebar: 250px;
}

body {
    background-color: #f4f6f9;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ---------- Sidebar ---------- */
.sidebar {
    width: var(--largura-sidebar);
    min-height: 100vh;
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    transition: margin-left 0.3s ease;
}

.sidebar .nav-link {
    border-radius: 0.5rem;
    margin-bottom: 0.15rem;
    padding: 0.6rem 0.85rem;
    transition: background-color 0.15s ease;
}

.sidebar .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.sidebar .nav-link.active {
    background-color: var(--bs-primary);
    font-weight: 600;
}

/* Sidebar recolhida */
#wrapper.sidebar-recolhida .sidebar {
    margin-left: calc(-1 * var(--largura-sidebar));
}

.conteudo-principal {
    min-width: 0; /* permite que tabelas com overflow funcionem */
}

/* ---------- Indicadores do dashboard ---------- */
.indicador-icone {
    width: 52px;
    height: 52px;
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

/* ---------- Tela de login ---------- */
.tela-login {
    min-height: 100vh;
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    padding: 1rem;
}

/* ---------- Catálogo ---------- */
.produto-card {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.produto-card:hover {
    transform: translateY(-4px);
}
.produto-imagem {
    height: 140px;
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
    position: relative;
    border-bottom: 1px solid #eee;
}

/* ---------- Responsividade ---------- */
@media (max-width: 768px) {
    .sidebar {
        position: fixed;
        z-index: 1040;
        margin-left: calc(-1 * var(--largura-sidebar));
    }
    #wrapper.sidebar-aberta .sidebar {
        margin-left: 0;
    }
}

/* ---------- Impressão (comprovante) ---------- */
@media print {
    .sidebar, .navbar, .btn, .card-footer { display: none !important; }
    body { background: #fff; }
}
