th { text-align: -webkit-match-parent; text-align: match-parent; text-align: inherit; } /* Banner mais compacto em mobile */ @media (max-width: 768px) { .banner-img, .img-fluid[alt="Banner ABUBA"] { max-height: 180px !important; } .card-body { padding: 1rem 0.75rem; } .btn { width: 100%; font-size: 1rem; } } /* Utilitários e componentes responsivos */ :root { --bs-gutter-mobile: 1rem; } /* Ajustes responsivos globais */ @media (max-width: 768px) { .container { padding: 0 var(--bs-gutter-mobile); } /* Fix tabelas responsivas */ .table-responsive { margin: 0 calc(-1 * var(--bs-gutter-mobile)); width: calc(100% + (var(--bs-gutter-mobile) * 2)); padding: 0 var(--bs-gutter-mobile); } } /* Banner compacto em mobile */ @media (max-width: 768px) { .banner-abuba { max-height: 180px !important; } } /* Cards adaptativos */ .card { height: auto !important; margin-bottom: 1rem; } @media (max-width: 768px) { .card-img-top { height: 200px; object-fit: cover; } } /* Status pills responsivas */ .status-pill { white-space: nowrap; display: inline-flex; align-items: center; padding: 0.25rem 0.75rem; border-radius: 1rem; font-size: 0.875rem; } @media (max-width: 768px) { .status-pill { font-size: 0.75rem; } } /* Navbar mobile otimizada */ @media (max-width: 768px) { .navbar-brand { font-size: 1.1rem; } .user-avatar { width: 32px; height: 32px; font-size: 0.875rem; } .dropdown-header { font-size: 0.875rem; } } /* Steps responsivos */ .steps { display: flex; margin: 1rem 0; } @media (max-width: 768px) { .steps { flex-direction: column; gap: 0.5rem; } .step-item { width: 100%; text-align: left; padding: 0.5rem; } .step-item::after { display: none; } } footer small { text-align: -webkit-match-parent; text-align: match-parent; text-align: inherit; } body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; } /* Forms responsivos */ @media (max-width: 768px) { .form-label { margin-bottom: 0.25rem; } .form-control { font-size: 16px; } /* Evita zoom iOS */ .btn { width: 100%; } .btn + .btn { margin-top: 0.5rem; } } /* Tabelas responsivas para mobile */ @media (max-width: 768px) { .table-mobile-cards tbody tr { display: flex; flex-direction: column; border: 1px solid #dee2e6; margin-bottom: 1rem; padding: 0.5rem; } .table-mobile-cards td { display: flex; padding: 0.25rem 0; border: none; } .table-mobile-cards td::before { content: attr(data-label); font-weight: 600; margin-right: 0.5rem; min-width: 40%; } .table-mobile-cards thead { display: none; } } /* Breadcrumb responsivo */ @media (max-width: 768px) { .breadcrumb { margin: 0.5rem 0; font-size: 0.875rem; } .breadcrumb-item + .breadcrumb-item { padding-left: 0.5rem; } .breadcrumb-item + .breadcrumb-item::before { padding-right: 0.5rem; } } /* Fix espaçamento mobile */ @media (max-width: 768px) { .mt-5 { margin-top: 2rem !important; } .mb-4 { margin-bottom: 1.5rem !important; } h1, .h1 { font-size: calc(1.2rem + 1vw); } h2, .h2 { font-size: calc(1.1rem + 0.75vw); } .page-header { margin-bottom: 1rem; } } html, body { height: 100%; } body { display: flex; flex-direction: column; } main { flex: 1 0 auto; /* ocupa o espaço restante */ } footer { flex-shrink: 0; /* impede o footer de subir */ }