/**
 * WG SAAS OFICINA — ajustes para celular e tablet
 */

@media (max-width: 991px) {
	.main-content.app-content {
		padding: 12px 10px 70px;
		margin-left: 0 !important;
	}

	/* Menu lateral: overlay, não ocupa espaço na tela */
	.app .app-sidebar {
		position: fixed !important;
		top: 0;
		bottom: 0;
		left: -280px !important;
		width: 260px !important;
		z-index: 9999;
		transition: left 0.25s ease;
	}

	.app.sidenav-toggled .app-sidebar {
		left: 0 !important;
	}

	.app.sidenav-toggled::before {
		content: '';
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.45);
		z-index: 9998;
	}

	.main-header.side-header {
		position: fixed !important;
		left: 0 !important;
		width: 100% !important;
		padding-left: 0 !important;
		z-index: 1000;
	}

	.main-content.app-content {
		padding-top: 64px !important;
	}

	body.pdv-page .main-content.app-content {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
}

@media (max-width: 991px) and (display-mode: standalone) {
	.main-content.app-content {
		padding-bottom: calc(70px + env(safe-area-inset-bottom));
	}

	body.pdv-page .main-content.app-content {
		padding-bottom: 0 !important;
	}
}

@media (max-width: 991px) {

	.card.custom-card .card-body {
		padding: 12px;
	}

	.breadcrumb-header {
		flex-direction: column;
		align-items: flex-start !important;
		gap: 8px;
	}

	.breadcrumb-header .left-content,
	.breadcrumb-header .right-content {
		width: 100%;
	}

	.breadcrumb-header .btn {
		margin-bottom: 4px;
	}

	.modal-dialog {
		margin: 0.5rem auto;
		max-width: calc(100% - 1rem);
	}

	.modal-xl,
	.modal-lg {
		max-width: calc(100% - 1rem);
	}

	.modal-body {
		padding: 12px;
	}

	.select2-container {
		width: 100% !important;
		max-width: 100% !important;
	}

	.swal2-popup {
		width: calc(100% - 24px) !important;
		max-width: 420px !important;
		font-size: 0.95rem !important;
	}
}

@media (max-width: 767px) {
	html {
		-webkit-text-size-adjust: 100%;
	}

	body {
		overflow-x: hidden;
	}

	/* Evita zoom automático no iPhone ao focar inputs */
	input.form-control,
	select.form-select,
	textarea.form-control,
	.select2-search__field {
		font-size: 16px !important;
		min-height: 44px;
	}

	.btn,
	.page-link,
	.side-menu__item {
		min-height: 40px;
	}

	.btn-sm {
		min-height: 36px;
		padding: 0.35rem 0.65rem;
		font-size: 0.82rem;
	}

	/* Tabelas: rolagem horizontal sem quebrar layout */
	#listar,
	.card-body,
	.table-responsive {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	#listar .table,
	.card-body > small > .table,
	.card-body > .table {
		min-width: 560px;
		font-size: 12px;
	}

	#listar .table td,
	#listar .table th,
	.card-body .table td,
	.card-body .table th {
		white-space: normal !important;
		vertical-align: middle;
	}

	#listar .table td:last-child,
	.card-body .table td:last-child {
		min-width: 130px;
	}

	#listar .table .btn,
	.card-body .table .btn {
		margin: 2px 1px;
	}

	/* Formulários em colunas */
	.modal-body .row > [class*="col-"],
	.card-body .row > [class*="col-"] {
		margin-bottom: 8px;
	}

	/* Login */
	.sign-favicon,
	.login-wg .sign-favicon {
		max-width: 100% !important;
		width: auto !important;
		height: auto !important;
	}

	.card-sigin-main {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}

	.main-signin-footer,
	.main-signup-header {
		padding-left: 0;
		padding-right: 0;
	}

	/* Cabeçalho do painel */
	.main-header-right .responsive-navbar {
		flex-wrap: wrap;
	}

	.header-search,
	.ocultar_mobile {
		display: none !important;
	}

	/* Alertas e passos */
	.alert {
		font-size: 13px;
		padding: 10px 12px;
	}

	/* DataTables */
	div.dataTables_wrapper div.dataTables_length,
	div.dataTables_wrapper div.dataTables_filter {
		text-align: left !important;
		margin-bottom: 8px;
	}

	div.dataTables_wrapper div.dataTables_filter input {
		width: 100% !important;
		margin-left: 0 !important;
	}
}

@media (max-width: 575px) {
	.main-container.container-fluid {
		padding-left: 8px;
		padding-right: 8px;
	}

	.modal-footer {
		flex-wrap: wrap;
		gap: 8px;
	}

	.modal-footer .btn {
		flex: 1 1 auto;
		min-width: 120px;
	}

	.breadcrumb-header .btn {
		width: 100%;
		display: block;
		text-align: center;
	}

	.breadcrumb-header .dropdown {
		width: 100%;
	}

	.breadcrumb-header .dropdown .btn {
		width: 100%;
	}

	/* Checklist público (mecânico no celular) */
	body.checklist-mobile {
		padding: 8px !important;
	}

	body.checklist-mobile .flex.items-center.gap-4 {
		flex-direction: column;
		align-items: flex-start;
	}

	body.checklist-mobile input[type="radio"],
	body.checklist-mobile input[type="checkbox"] {
		width: 20px;
		height: 20px;
	}

	body.checklist-mobile label {
		font-size: 15px !important;
		line-height: 1.4;
	}

	body.checklist-mobile textarea,
	body.checklist-mobile input[type="text"] {
		font-size: 16px !important;
	}

	body.checklist-mobile button,
	body.checklist-mobile .btn-salvar-checklist {
		width: 100%;
		min-height: 48px;
		font-size: 16px;
	}
}

/* Banner instalar app (PWA) */
.pwa-install-banner {
	position: fixed;
	left: 12px;
	right: 12px;
	bottom: 12px;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	background: #1a1a2e;
	color: #fff;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
	font-size: 14px;
	line-height: 1.4;
}

.pwa-install-banner[hidden] {
	display: none !important;
}

.pwa-install-text {
	flex: 1;
}

.pwa-install-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.pwa-install-btn {
	border: 0;
	background: #fff;
	color: #1a1a2e;
	font-weight: 600;
	border-radius: 8px;
	padding: 8px 14px;
	min-height: 40px;
	white-space: nowrap;
}

.pwa-install-close {
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 24px;
	line-height: 1;
	padding: 0 4px;
	min-width: 32px;
	min-height: 32px;
}

@media (max-width: 480px) {
	.pwa-install-banner {
		flex-direction: column;
		align-items: stretch;
		bottom: max(12px, env(safe-area-inset-bottom));
	}

	.pwa-install-actions {
		justify-content: flex-end;
	}
}
