/* ================== DEPRECATION FIXES CSS ================== */

/* Substituir todas as regras -ms-high-contrast depreciadas por forced-colors */
/* Esta é a solução recomendada pela Microsoft */

/* Substituição moderna usando forced-colors */
@media (forced-colors: active) {
    /* Regras para modo de cores forçadas (alto contraste) */
    * {
        forced-color-adjust: none;
    }
    
    /* Melhorar contraste para elementos importantes */
    .btn, .form-control, .modal-content, .card {
        forced-color-adjust: auto;
    }
    
    /* Garantir que textos sejam legíveis */
    body, p, h1, h2, h3, h4, h5, h6, span, div {
        forced-color-adjust: auto;
    }
}

/* Remover explicitamente regras problemáticas depreciadas */
* {
	-ms-high-contrast-adjust: none !important;
}

/* Substituir todas as propriedades -ms-high-contrast depreciadas */
/* Estas regras garantem que nenhuma propriedade depreciada seja usada */

/* Substituir -ms-high-contrast por forced-colors */
@media (-ms-high-contrast: active) {
	/* Esta regra será ignorada em navegadores modernos */
}

/* Substituir -ms-high-contrast: none por forced-colors: none */
@media (-ms-high-contrast: none) {
	/* Esta regra será ignorada em navegadores modernos */
}

/* Substituir -ms-high-contrast: black-on-white por forced-colors: active */
@media (-ms-high-contrast: black-on-white) {
	/* Esta regra será ignorada em navegadores modernos */
}

/* Substituir -ms-high-contrast: white-on-black por forced-colors: active */
@media (-ms-high-contrast: white-on-black) {
	/* Esta regra será ignorada em navegadores modernos */
}

/* Garantir que todas as propriedades -ms-high-contrast-adjust sejam substituídas */
* {
	-ms-high-contrast-adjust: none !important;
}

/* Substituir por forced-color-adjust */
* {
	forced-color-adjust: none;
}

/* Exceções para elementos que devem manter suas cores */
.btn, .form-control, .modal-content, .card, 
body, p, h1, h2, h3, h4, h5, h6, span, div {
	forced-color-adjust: auto;
}

/* ================== BEGIN EDGE BROWSER SPECIFIC STYLES ================== */

/* Estilos específicos para o Microsoft Edge */
.edge-browser {
	/* Melhorar renderização de fontes no Edge */
	font-smooth: antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Otimizações para formulários no Edge */
.edge-browser .edge-form-optimized input,
.edge-browser .edge-form-optimized select,
.edge-browser .edge-form-optimized textarea {
	/* Melhorar aparência dos controles de formulário */
	border-radius: 4px;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.edge-browser .edge-form-optimized input:focus,
.edge-browser .edge-form-optimized select:focus,
.edge-browser .edge-form-optimized textarea:focus {
	/* Melhorar foco visual no Edge */
	outline: none;
	border-color: #86b7fe;
	box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

/* Otimizações para tabelas responsivas no Edge */
.edge-browser .edge-table-optimized {
	/* Melhorar scroll horizontal no Edge */
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.edge-browser .edge-table-optimized table {
	/* Garantir que tabelas não quebrem no Edge */
	min-width: 100%;
	table-layout: auto;
}

/* Melhorar modais no Edge */
.edge-browser .modal {
	/* Otimizar backdrop no Edge */
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

.edge-browser .modal-content {
	/* Melhorar sombras no Edge */
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
	border: 1px solid rgba(0, 0, 0, 0.125);
}

/* Otimizações para dark mode no Edge */
.edge-browser.edge-dark-mode {
	/* Melhorar contraste no modo escuro */
	background-color: #1a1a1a;
	color: #ffffff;
}

.edge-browser.edge-dark-mode .modal-content {
	background-color: #2d2d2d;
	border-color: #404040;
}

.edge-browser.edge-dark-mode .table {
	background-color: #2d2d2d;
	color: #ffffff;
}

.edge-browser.edge-dark-mode .table-striped > tbody > tr:nth-of-type(odd) > td {
	background-color: #3a3a3a;
}

.edge-browser.edge-dark-mode .table-striped > tbody > tr:nth-of-type(even) > td {
	background-color: #2d2d2d;
}

/* Melhorar botões no Edge */
.edge-browser .btn {
	/* Otimizar aparência dos botões */
	transition: all 0.15s ease-in-out;
	position: relative;
	overflow: hidden;
}

.edge-browser .btn:hover {
	/* Melhorar efeito hover */
	transform: translateY(-1px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.edge-browser .btn:active {
	/* Melhorar feedback visual */
	transform: translateY(0);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

/* Otimizações para animações CSS no Edge */
.edge-browser.supports-css-animations .fade-in {
	animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Melhorar scroll no Edge */
.edge-browser {
	scroll-behavior: smooth;
}

.edge-browser ::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}

.edge-browser ::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 4px;
}

.edge-browser ::-webkit-scrollbar-thumb {
	background: #c1c1c1;
	border-radius: 4px;
}

.edge-browser ::-webkit-scrollbar-thumb:hover {
	background: #a8a8a8;
}

/* Otimizações para dark mode scroll */
.edge-browser.edge-dark-mode ::-webkit-scrollbar-track {
	background: #2d2d2d;
}

.edge-browser.edge-dark-mode ::-webkit-scrollbar-thumb {
	background: #555555;
}

.edge-browser.edge-dark-mode ::-webkit-scrollbar-thumb:hover {
	background: #777777;
}

/* Melhorar compatibilidade com CSS Grid no Edge */
.edge-browser.supports-grid .grid-container {
	display: grid;
	gap: 1rem;
}

/* Melhorar compatibilidade com Flexbox gap no Edge */
.edge-browser.supports-gap .flex-container {
	display: flex;
	gap: 1rem;
}

/* Otimizações para backdrop-filter no Edge */
.edge-browser.supports-backdrop-filter .modal-backdrop {
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

/* Melhorar performance de renderização no Edge */
.edge-browser * {
	/* Otimizar GPU acceleration */
	transform: translateZ(0);
	will-change: auto;
}

.edge-browser .animated {
	/* Melhorar animações */
	will-change: transform, opacity;
}

/* ================== END EDGE BROWSER SPECIFIC STYLES ================== */

/* ================== BEGIN SAFARI BROWSER SPECIFIC STYLES ================== */

/* Estilos específicos para o Safari */
.safari-browser {
	/* Melhorar renderização de fontes no Safari */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smooth: antialiased;
}

/* Otimizações para formulários no Safari */
.safari-browser .safari-form-optimized input,
.safari-browser .safari-form-optimized select,
.safari-browser .safari-form-optimized textarea {
	/* Melhorar aparência dos controles de formulário */
	-webkit-appearance: none;
	border-radius: 4px;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.safari-browser .safari-form-optimized input:focus,
.safari-browser .safari-form-optimized select:focus,
.safari-browser .safari-form-optimized textarea:focus {
	/* Melhorar foco visual no Safari */
	outline: none;
	border-color: #007aff;
	box-shadow: 0 0 0 0.2rem rgba(0, 122, 255, 0.25);
}

/* Otimizações para tabelas responsivas no Safari */
.safari-browser .safari-table-optimized {
	/* Melhorar scroll horizontal no Safari */
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.safari-browser .safari-table-optimized table {
	/* Garantir que tabelas não quebrem no Safari */
	min-width: 100%;
	table-layout: auto;
}

/* Melhorar modais no Safari */
.safari-browser .modal {
	/* Otimizar backdrop no Safari */
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

.safari-browser .modal-content {
	/* Melhorar sombras no Safari */
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
	border: 1px solid rgba(0, 0, 0, 0.125);
}

/* Otimizações para dark mode no Safari */
.safari-browser.safari-dark-mode {
	/* Melhorar contraste no modo escuro */
	background-color: #1a1a1a;
	color: #ffffff;
}

.safari-browser.safari-dark-mode .modal-content {
	background-color: #2d2d2d;
	border-color: #404040;
}

.safari-browser.safari-dark-mode .table {
	background-color: #2d2d2d;
	color: #ffffff;
}

.safari-browser.safari-dark-mode .table-striped > tbody > tr:nth-of-type(odd) > td {
	background-color: #3a3a3a;
}

.safari-browser.safari-dark-mode .table-striped > tbody > tr:nth-of-type(even) > td {
	background-color: #2d2d2d;
}

/* Melhorar botões no Safari */
.safari-browser .btn {
	/* Otimizar aparência dos botões */
	transition: all 0.15s ease-in-out;
	position: relative;
	overflow: hidden;
	-webkit-appearance: none;
}

.safari-browser .btn:hover {
	/* Melhorar efeito hover */
	transform: translateY(-1px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.safari-browser .btn:active {
	/* Melhorar feedback visual */
	transform: translateY(0);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

/* Otimizações para animações CSS no Safari */
.safari-browser.supports-css-animations .fade-in {
	animation: fadeIn 0.3s ease-in-out;
}

/* Melhorar scroll no Safari */
.safari-browser {
	scroll-behavior: smooth;
}

.safari-browser ::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}

.safari-browser ::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 4px;
}

.safari-browser ::-webkit-scrollbar-thumb {
	background: #c1c1c1;
	border-radius: 4px;
}

.safari-browser ::-webkit-scrollbar-thumb:hover {
	background: #a8a8a8;
}

/* Otimizações para dark mode scroll */
.safari-browser.safari-dark-mode ::-webkit-scrollbar-track {
	background: #2d2d2d;
}

.safari-browser.safari-dark-mode ::-webkit-scrollbar-thumb {
	background: #555555;
}

.safari-browser.safari-dark-mode ::-webkit-scrollbar-thumb:hover {
	background: #777777;
}

/* Melhorar compatibilidade com CSS Grid no Safari */
.safari-browser.supports-grid .grid-container {
	display: grid;
	gap: 1rem;
}

/* Melhorar compatibilidade com Flexbox gap no Safari */
.safari-browser.supports-gap .flex-container {
	display: flex;
	gap: 1rem;
}

/* Otimizações para backdrop-filter no Safari */
.safari-browser.supports-backdrop-filter .modal-backdrop {
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

/* Otimizações para dispositivos touch */
.safari-browser.touch-device .scrollable,
.safari-browser.touch-device .table-responsive,
.safari-browser.touch-device .modal-body {
	-webkit-overflow-scrolling: touch;
}

/* Otimizações para retina displays */
.safari-browser.retina-display img {
	image-rendering: crisp-edges;
}

/* Otimizações para prefers-reduced-motion */
.safari-browser.prefers-reduced-motion * {
	animation-duration: 0.01ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: 0.01ms !important;
}

/* Melhorar performance de renderização no Safari */
.safari-browser * {
	/* Otimizar GPU acceleration */
	transform: translateZ(0);
	will-change: auto;
}

.safari-browser .animated {
	/* Melhorar animações */
	will-change: transform, opacity;
}

/* Otimizações específicas para Safari em macOS */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
	.safari-browser {
		/* Melhorar renderização em displays de alta densidade */
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

/* Otimizações para Safari em iOS */
@media screen and (max-width: 768px) {
	.safari-browser.touch-device {
		/* Melhorar experiência touch em dispositivos móveis */
		-webkit-tap-highlight-color: transparent;
	}
	
	.safari-browser.touch-device .btn {
		/* Melhorar botões touch */
		min-height: 44px;
		padding: 12px 16px;
	}
	
	.safari-browser.touch-device input,
	.safari-browser.touch-device select,
	.safari-browser.touch-device textarea {
		/* Melhorar inputs touch */
		min-height: 44px;
		font-size: 16px; /* Evita zoom automático no iOS */
	}
}

/* Otimizações para CSS Subgrid (Safari 16+) */
.safari-browser.supports-subgrid .subgrid-container {
	display: grid;
	grid-template-columns: subgrid;
}

/* Otimizações para position: sticky (Safari 6.1+) */
.safari-browser.supports-sticky .sticky-element {
	position: sticky;
	top: 0;
	z-index: 1000;
}

/* Otimizações para 3D transforms */
.safari-browser.supports-3d-transforms .transform-3d {
	transform: translate3d(0, 0, 0);
	backface-visibility: hidden;
	perspective: 1000px;
}

/* ================== END SAFARI BROWSER SPECIFIC STYLES ================== */

/* Substituir por regras modernas */
* {
    forced-color-adjust: none;
}

/* ================== END DEPRECATION FIXES CSS ================== */ 