@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz@0,14..32;1,14..32&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/* BASE */
* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: rgba(0,0,0,0); }
a { color: #007AFF; text-decoration: underline; transition: all 0.2s ease; }
a:hover { color: #1A1A1A; }
input:focus, textarea:focus, select:focus, button:focus { outline: none; }
input, textarea, select, button { font-family: "Montserrat", sans-serif; font-size: 16px; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

html, body { min-height: 100%; scroll-behavior: smooth; scroll-padding-top: 80px; }
body { font-family: "Montserrat", sans-serif; font-size: 16px; color: #1A1A1A; background: #EAEBEF; padding: 100px 30px 30px 30px; }
body.tela-login { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 0; background: #222531; }

header { position: fixed; top: 0; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 0 30px; width: 100%; height: 70px; background: #2C343B; z-index: 999; }
header.financeiro { background: #0070D6; }
header .logo-sistema { color: #fff; font-size: 18px; font-weight: 700; text-decoration: none; white-space: nowrap; }
header .logo-sistema span { font-weight: 400; opacity: 0.9; }
header nav ul { display: flex; align-items: center; gap: 24px; list-style: none; }
header nav ul li { font-size: 0; }
header nav ul a { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 16px; font-weight: 400; text-decoration: none; }
header nav ul a:hover { color: #fff; opacity: 0.8; }
header nav ul [data-lucide] { width: 18px; height: 18px; stroke-width: 1.5; }

header nav ul a.setor { padding: 5px 10px; border-radius: 5px; background: #22B573; }
header nav ul a.setor.lab { background: #007AFF; }


h1, h2, h3, h4, h5, h6 { font-weight: 600; }
small { font-size: 13px; color: #808080; }
strong { font-weight: 600; }
tr:target { background: #fff8e1; transition: background 0.8s ease; }

.fonte-cinza { color: #808080; }
.fonte-azul { color: #2563EB; }
.fonte-vermelha { color: #FF6384; }


.topo-pagina { margin-bottom: 30px; }
.topo-pagina h1 { font-size: 26px; font-weight: 600; line-height: 1.2; margin-bottom: 8px; }
.topo-pagina p { color: #6B7280; line-height: 1.5; }

.aviso { padding: 14px 16px; border-radius: 8px; font-size: 14px; line-height: 1.5; margin-bottom: 15px; }
.aviso strong { font-weight: 700; }
.aviso.info { background: #EAF2FF; color: #1E3A8A; }
.aviso.sucesso { background: #EAF8F0; color: #14804A; }
.aviso.alerta { background: #FFF7E8; color: #B45309; }
.aviso.erro { background: #FFDCE4; color: #BE123C; }

.tabela-geral { width: 100%; overflow-x: auto; }
.tabela-geral table { width: 100%; border-collapse: collapse; min-width: 520px; }
.tabela-geral table th { padding: 15px 10px; font-size: 14px; font-weight: 600; color: #324768; background: #E4E5EA; }
.tabela-geral table td { padding: 10px; font-size: 14px; vertical-align: middle; border-bottom: 1px dashed #E6E6E6; line-height: 1.5; }
.tabela-geral table tbody tr:hover { background: #FFFFFF; }

.tabela-geral table strong { display: block; font-size: 14px; font-weight: 600; }

.acoes-tabela { display: inline-flex; align-items: center; gap: 0; }
.acoes-tabela a { display: inline-flex; align-items: center; justify-content: center; color: #64748B; text-decoration: none; width: 34px; height: 34px; border-radius: 4px; }
.acoes-tabela a:hover { color: #007AFF; background: #EAEDF4; }
.acoes-tabela a.excluir:hover  { color: #FF6384; }
.acoes-tabela a [data-lucide] { width: 16px; height: 16px; }

.acoes-tabela a.azul  { color: #007AFF; }
.acoes-tabela a.verde  { color: #22B573; }
.acoes-tabela a.vermelho  { color: #FF6384; }

.acao-desabilitada { opacity: .5; cursor: not-allowed; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; color: #64748B; }
.acao-desabilitada [data-lucide] { width: 16px; height: 16px; }


a .badge { text-decoration: none; }
.badge { display: inline-flex; align-items: center; justify-content: center; padding: 6px 12px; border-radius: 8px; font-size: 13px; font-weight: 500; white-space: nowrap; }
.badge.verde { color: #14804A; background: #EAF8F0; }
.badge.vermelho { color: #FF6384; background: #FFDCE4; }
.badge.amarelo { color: #B45309; background: #FFF7E8; }
.badge.azul { color: #2563EB; background: #EAF2FF; }
.badge.cinza { color: #1A1A1A; background: #E5E7EB; }
.badge.roxo { color: #814DFF; background: #DDD2FF; }


.menu-toggle { display: none; }

.menu { list-style: none; display: flex; gap: 20px; margin-bottom: 40px; font-size: 16px; font-weight: 500; }
.menu a { color: #007AFF; text-decoration: underline; }
.menu a:hover { color: #1a1a1a; }


.upload-area{position: relative; border:2px dashed #d0d7de;padding:40px;text-align:center;border-radius:12px;cursor:pointer;transition:0.2s;background:#fafafa;}
.upload-area:hover{background:#f0f6ff;border-color:#1a73e8;}
.upload-content i{width:40px;height:40px;margin-bottom:10px;color:#1a73e8;}
.upload-content p{margin:0;font-size:16px;}
.upload-content span{font-size:13px;color:#777;}
.upload-file-name{margin-top:10px;font-size:14px;color:#1a73e8;font-weight:600;}
.upload-area.ativo{border-color:#1a73e8;background:#eef5ff;}
.upload-file-real{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none;}


.aviso-sem-veterinario { padding: 14px 16px; border: 1px solid #d9dee7; border-radius: 10px; background: #f9fafb; font-size: 14px; color: #444; }



.flex-conteudo { display: flex; gap: 30px; margin-bottom: 30px; align-items: baseline; flex-wrap: wrap; }
.flex-conteudo.esticado { align-items: stretch; }
.bloco-conteudo { flex: 1; min-width: 580px; padding: 30px; border-radius: 16px; background: #FAFBFE; box-shadow: 0 1px 1px rgba(0,0,0,0.15); }
.bloco-maior { min-width: 60%; }
.bloco-menor { min-width: 380px; }
.bloco-conteudo h2 { font-size: 18px; font-weight: 600; margin-bottom: 30px; text-transform: uppercase; }
.bloco-conteudo h3 { font-size: 16px; font-weight: 500; margin-bottom: 15px; }

.lista-profissionais { width: 100%; }
.lista-profissionais .profissional { display: flex; gap: 40px; align-items: center; justify-content: space-between; font-size: 14px; color: #808080; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px dashed #e6e6e6; }
.lista-profissionais .profissional h4 { color: #1a1a1a; font-weight: 400; }

/* Pedido */
.bloco-resumo-botoes { display: flex; gap: 20px; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; }
.bloco-botoes-resumo { display: flex; gap: 10px; align-items: stretch; flex-wrap: wrap; }

.bloco-botoes-resumo a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 20px; border-radius: 4px; font-size: 14px; font-weight: 500; cursor: pointer; text-decoration: none; color: #fff; border: 1px solid #22B573; background: #22B573; transition: all 0.2s ease; }
.bloco-botoes-resumo a:hover { background: #1D995E; color: #fff; }

.bloco-botoes-resumo a.secundario { background: #F3F4F6; color: #1A1A1A; border-color: #E5E7EB; }
.bloco-botoes-resumo a.secundario:hover { background: #E5E7EB; color: #1A1A1A; }

.bloco-botoes-resumo a [data-lucide] { width: 18px; height: 18px; }

.resumo-pedido p { font-size: 14px; line-height: 1.5; }
.resumo-pedido h2 { color: #224596; font-size: 24px; margin-bottom: 2px; }
.resumo-pedido h3 { margin-bottom: 2px; font-weight: 600; text-transform: uppercase; }
.resumo-pedido .coleta { color: #808080; font-size: 14px; margin-bottom: 10px; }
.resumo-pedido .veterinario { color: #808080; font-size: 14px; margin-bottom: 10px; }

.bloco-status-exames { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-top: 20px; }
.bloco-status-exames p { font-size: 14px; color: #224596; font-weight: 500; }

.bloco-status-exames a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 20px; border-radius: 4px; font-size: 14px; font-weight: 500; cursor: pointer; text-decoration: none; color: #fff; background: #22B573; transition: all 0.2s ease; }
.bloco-status-exames a:hover { background: #1D995E; color: #fff; }
.bloco-status-exames a [data-lucide] { width: 18px; height: 18px; }


/* Exames Resultados */
.dados-exame-resultados { display: flex; flex-direction: column; gap: 10px; }
.dados-exame-resultados p { font-size: 14px; line-height: 1.5; }
.dados-exame-form { margin-bottom: 0; }
.resultados-exame { display: flex; flex-direction: column; gap: 12px; }
.resultado-secao { padding: 10px; border-radius: 6px; color: #1A1A1A; background: #D9DBDF; font-size: 13px; font-weight: 600; text-transform: uppercase; }
.resultado-item { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(180px, 280px); gap: 20px; align-items: center; padding: 14px 0; border-bottom: 1px dashed #CCCCCC; }
.resultado-item:hover { background: #FFFFFF; }
.resultado-item.opcional { opacity: 0.9; }
.resultado-item.opcional .resultado-campo input { border: 1px dashed #CCCCCC; background: #F5F5F5; }
.resultado-item.opcional .resultado-campo input:focus { border-color: #007AFF; }

.resultado-item.resultado-texto { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
.resultado-info { display: flex; flex-direction: column; gap: 4px; }
.resultado-info label { font-size: 14px; font-weight: 600; }
.resultado-info label span { display: inline-flex; margin-left: 8px; padding: 4px 8px; border-radius: 20px; color: #636363; background: #E6E6E6; font-size: 11px; font-weight: 500; }
.resultado-referencias { display: flex; flex-wrap: wrap; gap: 12px; }
.resultado-referencias small { color: #808080; }
.resultado-campo input, .resultado-texto textarea { width: 100%; padding: 10px; border: 1px solid #CCCCCC; border-radius: 4px; background: #fff; font-size: 16px; transition: all 0.3s ease; }
.resultado-campo input:focus, .resultado-texto textarea:focus { border-color: #007AFF; }
.resultado-campo input:disabled, .resultado-texto textarea:disabled { background: #F0F0F0; color: #333; cursor: not-allowed; opacity: 0.7; }
.botoes-resultados { margin-top: 30px; }

.resultado-campo input:not(:placeholder-shown),
.resultado-texto textarea:not(:placeholder-shown),
.resultado-item.opcional .resultado-campo input:not(:placeholder-shown) { border-color: #007AFF; }

.resultado-campos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }


/* Form Geral */
.form-linha { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 20px; }
.form-linha .linha { display: flex;	flex: 1; gap: 20px; }
.form-linha .coluna { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: 5px; }
.form-linha .coluna.menor {	flex: 0 0 100px; min-width: 100px; }


.form-linha input, .form-linha textarea { width: 100%; padding: 10px; border: 1px solid #e6e6e6; border-radius: 4px; background: #fff; font-size: 16px; transition: all 0.3s ease; }
.form-linha input:focus, .form-linha textarea:focus, .form-linha select:focus { border: 1px solid #007aff; }

.form-linha input[type="date"] { padding: 9px 10px; font-size: 16px; }
.form-linha input[type="file"] { padding: 9px 10px; font-size: 14px; }
.form-linha input:disabled, .form-linha select:disabled { cursor: not-allowed; opacity: 0.3; }

.form-linha select {
	width: 100%;
	padding: 10px 38px 10px 10px;
	border: 1px solid #e6e6e6;
	border-radius: 4px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;
	background-size: 18px;
	font-size: 16px;
	transition: all 0.3s ease;
	cursor: pointer;
}

.form-linha-button { display: flex; flex-wrap: wrap; gap: 10px; }

.form-linha-button button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 20px; border: 1px solid #007AFF; border-radius: 4px; font-size: 14px; font-weight: 500; cursor: pointer; text-decoration: none; color: #fff; background: #007AFF; transition: all 0.2s ease; }

.form-linha-button button:hover { background: #0069D9; border-color: #0069D9; }
.form-linha-button button.secundario { background: #F3F4F6; color: #1A1A1A; border-color: #E5E7EB; }
.form-linha-button button.secundario:hover { background: #E5E7EB; color: #1A1A1A; }
.form-linha-button button.verde { background: #22B573; color: #fff; border-color: #22B573; }
.form-linha-button button.verde:hover { background: #1D995E; color: #fff; }
.form-linha-button button [data-lucide] { width: 18px; height: 18px; }


.bloco-radio { display: flex; flex-wrap: wrap; gap: 20px; }
.radio-item { position: relative; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.radio-item input { position: absolute; left: 0; top: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.radio-ui { width: 18px; height: 18px; border: 2px solid #b8c7db; border-radius: 50%; display: inline-block; position: relative; flex-shrink: 0; }
.radio-item input:checked + .radio-ui { border-color: #1a73e8; }
.radio-item input:checked + .radio-ui::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #1a73e8; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.radio-texto { font-size: 16px; font-weight: 500; }

hr { border: none; height: 1px; background-color: #e6e6e6; margin: 30px 0; width: 100%; }


.flex { display: flex; gap: 40px; margin-bottom: 40px; flex-wrap: wrap; align-items: stretch; }
.box { background: #fff; padding: 40px; flex: 1; border: 1px solid #dee2e6; border-radius: 16px; }

.resumo { display: flex; flex-direction: column; flex-wrap: wrap; gap: 40px; padding: 80px; border-radius: 32px; background: #fff; box-shadow: 0 4px 32px rgba(0,0,0,0.1); }
.resumo .dado { display: flex; align-items: center; gap: 20px; }
.resumo .dado [data-lucide] { width: 64px; height: 64px; stroke-width: 1; stroke: #808080; }
.resumo .dado h3 { font-size: 36px; }
.resumo .dado p { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: #808080; }
.resumo .dado p  [data-lucide] { width: 18px; height: 18px; stroke: #1a1a1a; }

/* Tela Login */
.login { width: 400px; }
.bloco-login { display: flex; flex-direction: column; gap: 40px; padding: 40px; border-radius: 32px; background: #323645; box-shadow: 0 4px 32px rgba(0,0,0,0.1); }
.bloco-login h1 { font-size: 34px; font-weight: 700; }
.bloco-login h1 span { font-weight: 400; }
.bloco-login form { display: flex; flex-direction: column; gap: 20px; }
.bloco-login input { width: 100%; padding: 14px 25px; border: 0; border-radius: 25px; font-size: 18px; color: #fff; border: 1px solid #7D8AB2; background: #323645; transition: all 0.3s ease; }
.bloco-login input:focus { filter: brightness(0.95); }
.bloco-login button { width: 100%; padding: 14px 25px; border: 0; border-radius: 25px; font-size: 18px; font-weight: 500; color: #fff; cursor: pointer; background: #007AFF; transition: all 0.3s ease; }
.bloco-login button:hover { filter: brightness(0.9); }

.bloco-login input::placeholder { color: #fff; opacity: 0.8; }

.bloco-login input:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px #323645 inset !important; -webkit-text-fill-color: #fff !important; font-size: 18px !important; font-family: "Montserrat", sans-serif !important; }
.bloco-login input:-webkit-autofill:hover, input:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 1000px #323645 inset !important; -webkit-text-fill-color: #fff !important; }

.campo-fake { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.aviso-sucesso { margin-bottom: 20px; padding: 20px; text-align: center; color: #fff; font-weight: 500; border-radius: 8px; background: #26C679; }
.aviso-erro { margin-bottom: 20px; padding: 20px; text-align: center; color: #fff; font-weight: 500; border-radius: 8px; background: #FF6384; }


/* Lista geral */
.lista-geral { margin-bottom: 30px; background: #FAFBFE; border-radius: 16px; overflow: hidden; box-shadow: 0 1px 1px rgba(0,0,0,0.15); }
.lista-acoes { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px; flex-wrap: wrap; }
.lista-acoes h2 { font-size: 18px; font-weight: 600; margin: 0; text-transform: uppercase; }

.resumo-creditos { display: flex; flex-direction: column; gap: 5px; font-size: 14px; }
.resumo-creditos h2 { font-size: 18px; text-transform: uppercase; color: #fff; margin: 0 0 10px 0; }

.lista-cabecalho { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px; flex-wrap: wrap; }
.lista-cabecalho h2 { font-size: 18px; font-weight: 600; margin: 0; text-transform: uppercase; }

.menu-acoes { display: flex; gap: 20px; }
.menu-acoes a { color: #007AFF; text-decoration: none; font-weight: 500; }
.menu-acoes a:hover { color: #1A1A1A; }

.lista-busca { min-width: 360px; }
.form-busca { position: relative; display: flex; gap: 20px; align-items: stretch; }
.form-busca input { width: 100%; height: 44px; padding: 0 50px 0 18px; border: 0; border-radius: 8px; font-size: 16px; color: #1A1A1A; background: #EFF1F7; }
.form-busca button { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 8px; cursor: pointer; background: transparent; transition: all 0.3s ease; }
.form-busca button [data-lucide] { width: 20px; height: 20px; stroke-width: 2; color: #64748B; }
.form-busca button:hover [data-lucide] { color: #007AFF; }

.form-busca select {
	width: 100%;
	padding: 10px 38px 10px 10px;
	border: 1px solid #e6e6e6;
	border-radius: 8px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;
	background-size: 18px;
	font-size: 16px;
	transition: all 0.3s ease;
	cursor: pointer;
}
.form-busca select:focus { border: 1px solid #007aff; }

.lista-filtros { display: flex; justify-content: flex-end; min-width: 600px; }
.form-filtros-pedidos { display: flex; align-items: center; justify-content: flex-end; gap: 10px; width: 100%; flex-wrap: wrap; }
.form-filtros-pedidos input { height: 42px; padding: 0 14px; border: 1px solid #EFF1F7; border-radius: 8px; font-size: 14px; color: #1A1A1A; background: #EFF1F7; transition: all 0.3s ease; }
.form-filtros-pedidos select { height: 42px; padding: 0 28px 0 14px; border: 1px solid #EFF1F7; border-radius: 8px; font-size: 14px; color: #1A1A1A; transition: all 0.3s ease; background: #EFF1F7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center; background-size: 16px; cursor: pointer; }
.form-filtros-pedidos input[type="date"] { width: 150px; }
.form-filtros-pedidos input[name="busca"] { width: 200px; }
.form-filtros-pedidos input[name="paciente"] { width: 150px; }
.form-filtros-pedidos input:focus { border: 1px solid #007aff; } 
.form-filtros-pedidos button { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 8px; cursor: pointer; background: #007AFF; transition: all 0.3s ease; }
.form-filtros-pedidos button:hover { background: #0069D9; }
.form-filtros-pedidos button [data-lucide] { width: 20px; height: 20px; color: #FFFFFF; stroke-width: 2; }

.lista-tabela { width: 100%; overflow-x: auto; }
.lista-tabela table { width: 100%; min-width: 900px; border-collapse: collapse; }
.lista-tabela thead tr { background: #E4E5EA; font-weight: 500; }
.lista-tabela th { padding: 18px 24px; font-size: 14px; font-weight: 600; color: #324768; }
.lista-tabela td { padding: 18px 24px; font-size: 14px; vertical-align: middle; border-bottom: 1px dashed #e6e6e6; line-height: 1.5; }
.lista-tabela tbody tr:hover { background: #FFFFFF; }

.lista-tabela-rodape td { background: #EFF1F7; }

.lista-tabela-exames { width: 100%; overflow-x: auto; }
.lista-tabela-exames table { width: 100%; min-width: 480px; border-collapse: collapse; }
.lista-tabela-exames thead tr { background: #E4E5EA; font-weight: 500; }
.lista-tabela-exames th { padding: 18px 0; font-size: 13px; font-weight: 600; color: #324768; }
.lista-tabela-exames td { padding: 18px 0; font-size: 13px; vertical-align: middle; border-bottom: 1px dashed #e6e6e6; }
.lista-tabela-exames tbody tr:hover { background: #FFFFFF; }

.botao-tabela { display: inline-block; color: #fff; font-size: 14px; font-weight: 500; padding: 8px 16px; border-radius: 4px; cursor: pointer; background: #007aff; text-decoration: none; transition: all 0.3s ease; }
.botao-tabela:hover { filter: brightness(1.1); color: #fff; }

.cliente-info h3 { font-size: 14px; font-weight: 600; text-transform: uppercase; }
.cliente-info p { color: #808080; }

.badge-status { display: inline-flex; align-items: center; justify-content: center; padding: 7px 12px; border-radius: 8px; font-size: 13px; font-weight: 500; white-space: nowrap; }
.badge-status.ativo { color: #14804A; background: #EAF8F0; }
.badge-status.inativo { color: #FF6384; background: #FFDCE4; }
.badge-status.enviado { color: #2563EB; background: #EAF2FF; }
.badge-status.pendente { color: #B45309; background: #FFF7E8; }


/* Paginação */
.paginacao { display: flex; justify-content: center; align-items: center; gap: 10px; margin: 20px 0; }
.paginacao a, .paginacao span { min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; font-size: 16px; font-weight: 500; color: #1A1A1A; text-decoration: none; transition: all 0.3s ease; }
.paginacao a:hover { color: #007AFF; background: rgba(0,122,255,0.08); }
.paginacao .ativo { color: #fff; background: #007AFF; box-shadow: 0 0 0 4px rgba(0,122,255,0.18); }
.pagina-nav i { width: 20px; height: 20px; stroke-width: 2; }

/* MODAL BASE */
.modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 1000; display: none; align-items: center; justify-content: center; opacity: 0; transition: 0.2s ease; }
.modal-overlay.ativo { display: flex; opacity: 1; }

/* CONTAINER */
.modal-container { width: 480px; max-width: 90%; background: #fff; border-radius: 16px; box-shadow: 0 4px 32px rgba(0,0,0,0.1); display: flex; flex-direction: column; transform: translateY(10px); opacity: 0; transition: 0.2s ease; }

.modal-overlay.ativo .modal-container { transform: translateY(0); opacity: 1; }

/* TOPO */
.modal-topo { display: flex; justify-content: space-between; align-items: center; padding: 20px 30px; border-bottom: 1px solid #e6e6e6; }
.modal-topo h4 { font-size: 18px; font-weight: 600; }
.modal-fechar { background: none; border: none; cursor: pointer; color: #808080; }
.modal-fechar:hover { color: #1a1a1a; }

/* CONTEÚDO */
.modal-conteudo { padding: 30px; display: flex; flex-direction: column; gap: 20px; }
.modal-conteudo p { color: #1a1a1a; line-height: 1.4; }

/* FORM */
.modal-conteudo .form-linha { display: flex; flex-wrap: wrap; gap: 20px; }
.modal-conteudo .coluna { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: 5px; }

.modal-conteudo select {
	width: 100%;
	padding: 10px 38px 10px 10px;
	border: 1px solid #e6e6e6;
	border-radius: 4px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;
	background-size: 18px;
	font-size: 16px;
	transition: all 0.3s ease;
	cursor: pointer;
}
.modal-conteudo select:focus { border: 1px solid #007aff; }

.lista-checkbox-laudos { display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; }
.checkbox-laudo { display: flex; align-items: center; gap: 10px; cursor: pointer; }

input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	width: 18px;
	height: 18px;
	border: 1px solid #CCCCCC;
	border-radius: 4px;
	background: #FFFFFF;
	cursor: pointer;
	position: relative;
	transition: all 0.2s ease;
	flex-shrink: 0;
    display: block;
}

input[type="checkbox"]:hover {
	border-color: #007AFF;
}

input[type="checkbox"]:checked {
	background: #007AFF;
	border-color: #007AFF;
}

input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 1px;
	width: 5px;
	height: 10px;
	border: solid #FFFFFF;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.checkbox-laudo span { font-size: 13px; color: #1A1A1A; }

.acoes-checkbox-laudos { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 15px; }
.acoes-checkbox-laudos button { border: 0; background: #EFF1F7; color: #007AFF; padding: 8px 12px; border-radius: 6px; font-size: 13px; font-weight: 500; cursor: pointer; transition: all 0.2s ease; }
.acoes-checkbox-laudos button:hover { background: #E5E7EB; color: #1A1A1A; }


/* AÇÕES */
.modal-acoes { display: flex; gap: 10px; }
.modal-acoes .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 20px; border: 1px solid #007AFF; border-radius: 4px; font-size: 14px; font-weight: 500; cursor: pointer; text-decoration: none; color: #fff; background: #007AFF; transition: all 0.2s ease; }
.modal-acoes .btn:hover { background: #0069D9; border-color: #0069D9; }


.modal-container.modal-grande { width: 760px; max-width: 94%; }
.busca-textos-base { width: 100%; height: 44px; padding: 0 14px; border: 1px solid #E6E6E6; border-radius: 8px; font-size: 15px; color: #1A1A1A; background: #FFFFFF; transition: all 0.3s ease; }
.busca-textos-base:focus { border-color: #007AFF; }
.lista-textos-base { display: flex; flex-direction: column; gap: 10px; max-height: 420px; overflow-y: auto; padding-right: 4px; }
.item-texto-base { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: center; padding: 14px; border: 1px solid #E6E6E6; border-radius: 10px; background: #FAFBFE; }
.item-texto-base-info { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.item-texto-base-info strong { font-size: 14px; color: #1A1A1A; }
.item-texto-base-info p { font-size: 13px; color: #64748B; line-height: 1.4; margin: 0; }
.item-texto-base button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 12px; border: 0; border-radius: 6px; color: #FFFFFF; background: #007AFF; font-size: 13px; font-weight: 500; cursor: pointer; transition: all 0.2s ease; }
.item-texto-base button:hover { background: #0069D9; }
.resultado-label-acoes { display: flex; align-items: center; gap: 8px; }

.btn-texto-base { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 4px; background: none; color: rgba(255,255,255,0.50); cursor: pointer; transition: all 0.2s ease; }
.btn-texto-base:hover { background: rgba(0,0,0,0.20); color: #007AFF; }
.btn-texto-base [data-lucide] { width: 16px; height: 16px; }
.sem-textos-base { padding: 14px; border-radius: 8px; background: #F5F5F5; color: #64748B; font-size: 14px; }
@media (max-width: 640px) { .item-texto-base { grid-template-columns: 1fr; } .item-texto-base button { width: 100%; } }


/* Resumo Fechamento */
.bloco-resumo-fechamento { display: flex; flex-direction: column; gap: 5px; }
.bloco-resumo-fechamento h2 { font-size: 22px; text-transform: uppercase; color: #FFCD56; margin: 0; }

.tabela-scroll-fechamento { max-height: 570px; overflow-y: auto; margin-bottom: 20px; }


/* Cores por ícone */
.resumo .dado [data-lucide="users"] { stroke: #36A2EB; }
.resumo .dado [data-lucide="user-check"] { stroke: #22B573; }
.resumo .dado [data-lucide="user-x"] { stroke: #FF6384; }
.resumo .dado [data-lucide="activity"] { stroke: #FF9F40; }

.bloco-tabela { flex: 1; max-width: 100%; padding: 40px; border-radius: 16px; background: #fff; }
.bloco-tabela .tabela { width: 100%; overflow-x: auto; }
h2 { font-size: 24px; margin-bottom: 20px; }

.bloco-tabela table { width: 100%; min-width: 400px; border-collapse: collapse; background: #fff; }
.bloco-tabela table th { padding: 10px; text-align: left; color: #324768; background: #E4E5EA; }
.bloco-tabela table td { padding: 10px; text-align: left; vertical-align: middle; border-bottom: 1px dashed #e6e6e6; }


.lista-tabela-exames thead tr { background: #E4E5EA; font-weight: 500; }
.lista-tabela-exames th { padding: 18px 0; font-size: 13px; font-weight: 600; color: #324768; }
.lista-tabela-exames td { padding: 18px 0; font-size: 13px; vertical-align: middle; border-bottom: 1px dashed #e6e6e6; }
.lista-tabela-exames tbody tr:hover { background: #FFFFFF; }

.subinfo { display: flex; gap: 16px; margin-top: 12px; color: #666; font-size: 12px; flex-wrap: wrap; }

.grafico-linha { height: 300px; }
.grafico-cidades { height: 300px; }
.grafico-horas { height: 300px; }
.grafico-12m { height: 300px; }
canvas { width: 100% !important; height: 100% !important; }

/* Lista de insights */
.insights { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
.insights li { display: flex; align-items: center; gap: 10px; padding: 8px 0; }
.insights [data-lucide] { width: 18px; height: 18px; stroke: #BA2542; }


/* --- Solicitações (cards inline, 4 por linha) --- */
.solicitacoes .cards{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:20px;}

.card-solicitacao{display:block;padding:20px; border:1px solid #dee2e6; border-radius: 16px;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.04);transition:.15s ease;outline:0;position:relative;}
.card-solicitacao.sla-ok{border-left:6px solid #22B573;}
.card-solicitacao.sla-warn{border-left:6px solid #FF9F40;}
.card-solicitacao.sla-late{border-left:6px solid #FF6384;}

.card-solicitacao .linha-1{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.card-solicitacao .linha-1 [data-lucide]{width:18px;height:18px;stroke:#1a1a1a;}
.card-solicitacao .cliente{font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.card-solicitacao .linha-2{display:flex;align-items:center;gap:8px;color:#6b7280;font-size:12px;margin-bottom:10px;}
.card-solicitacao .linha-2 .tag{display:inline-flex;align-items:center;gap:6px;}
.card-solicitacao .linha-2 [data-lucide]{width:14px;height:14px;stroke:#a3a3a3;}
.card-solicitacao .sep{opacity:.5;}

.acoes-inline{display:flex;gap:8px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:8px;padding:8px 16px;border:1px solid transparent;background:#f3f4f6;color:#111827;cursor:pointer;transition:.15s ease;font-size:12px; text-decoration: none;}
.btn [data-lucide]{width:16px;height:16px;}
.btn-primary{background:#007AFF;border-color:#007AFF;color:#fff;}
.btn-primary:hover{background:#006ED1;border-color:#006ED1;}
.btn-ghost{background:#fff;border-color:#dee2e6;color:#111827;}
.btn-ghost:hover{background:#f9fafb;}

.snackbar{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#111827;color:#fff;padding:10px 14px;border-radius:12px;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:.2s ease;z-index:9999;}
.snackbar.show{opacity:1;pointer-events:auto;}
.snackbar .undo{margin-left:10px;background:#fff;color:#111827;border:none;border-radius:8px;padding:6px 8px;cursor:pointer;}


/* Ícones coloridos para o bloco de Solicitações */ 
.resumo-solicitacoes .dado [data-lucide="calendar"]{stroke:#36A2EB;}
.resumo-solicitacoes .dado [data-lucide="sun"]{stroke:#FF9F40;}
.resumo-solicitacoes .dado [data-lucide="bar-chart-3"]{stroke:#9966ff;}

/* Tooltip */
.hint{display:inline-flex;align-items:center;gap:6px;cursor:pointer;position:relative}
.hint .hint-icon{width:16px;height:16px;opacity:.6}
.hint .hint-icon:hover{opacity:.9}

/* A bolha fica FIXED (ancorada à viewport), assim não “alarga” o layout */
.hint .hint-bubble{
  position:fixed; z-index:9999;
  max-width:min(80vw,220px);
  background:#0f172a; color:#fff; font-size:13px; line-height:1.35;
  padding:10px 12px; border-radius:10px; box-shadow:0 6px 24px rgba(0,0,0,.18);
  pointer-events:auto; /* interativa */
  opacity:0; transform:translateY(-2px);
  transition:opacity .15s ease, transform .15s ease;
  /* escondida por padrão */
  visibility:hidden;
}
.hint[data-open] .hint-bubble{opacity:1;visibility:visible;transform:none}

/* setas (top/bottom) controladas por data-pos */
.hint .hint-bubble::after{
  content:""; position:absolute; left:50%; transform:translateX(-50%);
  border:8px solid transparent;
}
.hint .hint-bubble[data-pos="top"]::after{
  bottom:-16px; border-top-color:#0f172a;
}
.hint .hint-bubble[data-pos="bottom"]::after{
  top:-16px; border-bottom-color:#0f172a;
}

/* Respeita preferência de movimento reduzido */
@media (prefers-reduced-motion: reduce){
  .hint .hint-bubble{transition:none}
}


/* Versão Escura Sistema */
body { color: #FFFFFF; background: #222531; }
header { background: #3F4456; }
a { color: #007AFF; }
a:hover { color: #FFCD56; }
small { color: rgba(255,255,255,0.40); }
tr:target { background: rgba(255,255,255,0.10); color: #FFCD56; }

.lista-geral { background: #323645; box-shadow: 0 4px 32px rgba(0,0,0,0.20); }
.lista-tabela thead tr { background: rgba(0,0,0,0.15); }
.lista-tabela thead tr th { color: rgba(255,255,255,0.50); }
.lista-tabela tbody tr:hover { background: rgba(255,255,255,0.05); }
.lista-tabela td { border-bottom: 1px dashed rgba(255,255,255,0.20); }

.tabela-geral table th { color: rgba(255,255,255,0.50); background: rgba(0,0,0,0.15); }
.tabela-geral table td { border-bottom: 1px dashed rgba(255,255,255,0.20); }
.tabela-geral table tbody tr:hover { background: rgba(255,255,255,0.05); }

.menu-acoes a:hover { color: #FFCD56; }

.form-filtros-pedidos input { border: 1px solid #7D8AB2; color: #FFFFFF; background: rgba(0,0,0,0.10); }
.form-filtros-pedidos select { border: 1px solid #7D8AB2; color: #FFFFFF; background: rgba(0,0,0,0.10) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237D8AB2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center; }
.form-filtros-pedidos select option { background: #222531; }
.form-filtros-pedidos input:focus, .form-filtros-pedidos select:focus { border: 1px solid #007aff; } 
.form-filtros-pedidos input[type="date"]::-webkit-calendar-picker-indicator { filter: brightness(0) invert(1); opacity: 0.7; cursor: pointer; }
input[type="date"]::-webkit-calendar-picker-indicator { filter: brightness(0) invert(1); opacity: 0.7; cursor: pointer; }

.acoes-tabela a { color: rgba(255,255,255,0.50); }
.acoes-tabela a:hover { color: #007AFF; background: rgba(0,0,0,0.20); }

.badge.verde { color: rgba(0,0,0,0.50); background: #7AD3AB; }
.badge.vermelho { color: rgba(0,0,0,0.50); background: #FFA1B5; }
.badge.amarelo { color: rgba(0,0,0,0.50); background: #FFE19A; }
.badge.azul { color: rgba(0,0,0,0.50); background: #66AFFF; }
.badge.cinza { color: rgba(0,0,0,0.50); background: #E5E7EB; }
.badge.roxo { color: rgba(0,0,0,0.50); background: #C2A3FF; }

.bloco-conteudo { background: #323645; box-shadow: 0 4px 32px rgba(0,0,0,0.20); }

.form-linha input, .form-linha textarea, .form-linha select { color: #fff; border: 1px solid #7D8AB2; background-color: rgba(0,0,0,0.10); }
.form-linha input:focus, .form-linha textarea:focus, .form-linha select:focus { border: 1px solid #007aff; }
.form-linha select option { background: #222531; }
.form-linha-button button.secundario { background: rgba(255,255,255,0.80); color: rgba(0,0,0,0.80); border-color: rgba(0,0,0,0.50); }
.form-linha-button button.secundario:hover { background: rgba(255,255,255,0.90); }

.resumo-pedido h2 { color: #FFCD56; }
.resumo-pedido .coleta, .resumo-pedido .veterinario { color: rgba(255,255,255,0.50); }

.aviso.info { background: #99CAFF; color: #1E3A8A; }
.aviso.sucesso { background: #A7E1C7; color: #14804A; }
.aviso.alerta { background: #FFEBBB; color: #B45309; }
.aviso.erro { background: #FFC1CE; color: #BE123C; }

.bloco-status-exames p { color: #FFE19A; }

.resultado-secao { color: rgba(255,255,255,0.60); background: rgba(255,255,255,0.20); }
.resultado-item { border-bottom: 1px dashed rgba(255,255,255,0.20); }
.resultado-item:hover { background: rgba(255,255,255,0.05); }
.resultado-item.opcional { opacity: 0.8; }
.resultado-item.opcional .resultado-campo input { color: #fff; border: 1px dashed #7D8AB2; background-color: rgba(0,0,0,0.10); }
.resultado-item.opcional .resultado-campo input:focus { border-color: #007AFF; }

.resultado-referencias small { color: rgba(255,255,255,0.40); }
.resultado-campo input, .resultado-texto textarea { color: #fff; border: 1px solid #7D8AB2; background-color: rgba(0,0,0,0.10); }
.resultado-campo input:disabled, .resultado-texto textarea:disabled { background: none; color: #fff; cursor: not-allowed; opacity: 0.7; }

.form-busca input { color: #fff; border: 1px solid #7D8AB2; background-color: rgba(0,0,0,0.10); transition: all 0.3s ease; }
.form-busca input:focus { border-color: #007AFF; }

.form-busca select { border: 1px solid #7D8AB2; color: #fff; background: rgba(0,0,0,0.10) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center; transition: all 0.3s ease;	cursor: pointer; }
.form-busca select:focus { border: 1px solid #007aff; }
.form-busca select option { background: #222531; }

.modal-topo h4 { color: #1a1a1a; }
.modal-conteudo .form-linha { color: #1a1a1a; }

.modal-conteudo select {
    color: #1a1a1a;
	width: 100%;
	padding: 10px 38px 10px 10px;
	border: 1px solid #e6e6e6;
	border-radius: 4px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;
	background-size: 18px;
	font-size: 16px;
	transition: all 0.3s ease;
	cursor: pointer;
}
.modal-conteudo select:focus { border: 1px solid #007aff; }
.modal-conteudo select option { background: #f2f2f2; }

.lista-tabela-rodape td { background: rgba(0,0,0,0.15); }


@media (max-width: 1400px) {
    .solicitacoes .cards { grid-template-columns: repeat(3,minmax(240px,1fr)); }
}


@media (max-width: 1280px) {
}

@media (max-width: 1180px) {
	
}

@media (max-width: 1024px) {
    
    .flex-conteudo { gap: 30px; margin-bottom: 30px; }
    .bloco-conteudo { padding: 30px; }
    
    .menu-mobile { display: flex; }
    .menu { display: none; }
    
    /* Botão Menu Mobile */
    .menu-toggle { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 30px; height: 30px; background: none; border: none; cursor: pointer; }
    .menu-toggle span { display: block; width: 24px; height: 2px; background-color: #1a1a1a; border-radius: 2px; transition: 0.3s ease; }
    .menu-toggle.ativo span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
    .menu-toggle.ativo span:nth-child(2) { opacity: 0; }
    .menu-toggle.ativo span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
    
	.menu { margin-bottom: 30px; }
	.bloco-tabela table.pequena { min-width: 100%; }
	.bloco-tabela table td div { width: 150px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.resumo { padding: 40px; width: 100%; }
	.flex { gap: 30px; margin-bottom: 30px; }
	.bloco-tabela { padding: 30px; }	
	
    .solicitacoes .cards { grid-template-columns: repeat(2,minmax(240px,1fr)); }
    
    
	.card-solicitacao .cliente{white-space:normal; overflow:hidden; text-overflow:ellipsis;}
	
	.bloco-tabela.solicitacoes { min-width: calc(100% + 60px); margin: 0 -30px 0 -30px; padding: 0 30px; border-radius: 0; background: none; }
    
    .login { width: 100%; padding: 30px; }
    .bloco-login h1 { font-size: 28px; }
    
    .lista-busca { max-width: 100%; }
	.lista-tabela th { padding: 16px 20px; }
	.lista-tabela td { padding: 16px 20px; }
    
    .lista-filtros { min-width: 100%; justify-content: flex-start; }
	.form-filtros-pedidos { justify-content: flex-start; }
}

@media (max-width: 768px) {
    .resultado-campos { grid-template-columns: 1fr; } 
}

@media (max-width: 640px) {
    .bloco-conteudo { min-width: 100%; }
    
    .form-filtros-pedidos input[type="date"],
	.form-filtros-pedidos input[name="busca"],
	.form-filtros-pedidos input[name="paciente"] { width: 100%; }
	.form-filtros-pedidos button { width: 100%; }
}

@media (max-width: 576px) {
    .solicitacoes .cards { grid-template-columns: 1fr; }
    .form-linha-button button { flex: 1; } 
}


/* Info Tooltip */
.tooltip { position: relative; display: inline-flex; }

.tooltip::after {
	content: attr(data-tooltip);
	position: absolute;
	left: 50%;
	bottom: 100%;
	transform: translateX(-50%) translateY(-8px);
	background: #1A1A1A;
	color: #fff;
	font-size: 12px;
	padding: 6px 10px;
	border-radius: 6px;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: all 0.2s ease;
	z-index: 10;
}

/* setinha */
.tooltip::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 100%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: #1A1A1A;
	margin-bottom: -2px;
	opacity: 0;
	transition: opacity 0.2s ease;
	z-index: 10;
}

/* ativação */
.tooltip:hover::after,
.tooltip:focus::after {
	opacity: 1;
	transform: translateX(-50%) translateY(-8px);
}

.tooltip:hover::before,
.tooltip:focus::before {
	opacity: 1;
}


/* Menu Mobile Completo */
.menu-mobile {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 999;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}


header.aberto .menu-mobile {
	pointer-events: auto;
	opacity: 1;
}

.menu-mobile .overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1;
}

.menu-mobile .painel {
	position: absolute;
	top: 0;
	left: -80%;
	width: 80%;
	height: 100%;
	background: #EFF1F7;
	padding: 40px;
	display: flex;
	flex-direction: column;
	z-index: 2;
	transition: transform 0.3s ease;
	transform: translateX(0);
	box-shadow: 5px 0px 10px rgb(0 0 0 / 0.1);
}

header.aberto .menu-mobile .painel {
	transform: translateX(100%);
}

h3.logo-mobile { font-size: 34px; margin-bottom: 40px; }


.fechar-menu {
	background: none;
	border: none;
	color: #fff;
	font-size: 30px;
	cursor: pointer;
}


.menu-mobile nav ul {
	list-style: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.menu-mobile nav ul li a {
	color: #007AFF;
	font-size: 18px;
	font-weight: 500;
	display: block;
}

.menu-mobile nav ul hr {
	border: none;
	height: 1px;
	background: rgba(255, 255, 255, 0.3);
	margin: 10px 0;
}
