:root {
  /* Color schemes */
  --primary: #3a36e0; --primary-light: #6e6ad8; --primary-dark: #292884;
  --primary-gradient: linear-gradient(135deg, var(--primary), #4361ee);
  --secondary: #00c2ff; --secondary-light: #90ced6; --secondary-dark: #0097a7;
  --secondary-gradient: linear-gradient(135deg, var(--secondary), #38b6ff);
  /* Accent & neutral colors */
  --accent-1: #ff0a54; --accent-2: #7209b7; --accent-3: #4cc9f0; --accent-4: #98c185; --accent-5: #f77f00;
  --background: #f8f9fc; --surface: #ffffff; --surface-hover: #f0f2f5;
  --text: #2d3748; --text-light: #718096; --border: #e2e8f0;
  /* Design elements */
  --border-radius-sm: 4px; --border-radius: 8px; --border-radius-lg: 12px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.05);
  --shadow: 0 4px 6px rgba(0,0,0,0.07), 0 1px 3px rgba(0,0,0,0.08);
  --shadow-lg: 0 10px 25px rgba(0,0,0,0.07), 0 6px 10px rgba(0,0,0,0.05);
  --shadow-hover: 0 14px 30px rgba(0,0,0,0.1), 0 4px 8px rgba(0,0,0,0.08);
  --transition-fast: all 0.2s ease;
  --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-bounce: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  /* Typography */
  --font-primary: Verdana, Geneva, Tahoma, sans-serif;
  --font-size-sm: 0.875rem; --font-size: 1rem; --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem; --font-size-2xl: 1.5rem; --line-height: 1.6;
}

/* Base styles */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { font-size: 16px; scroll-behavior: smooth; }
body {
  font-family: var(--font-primary); background-color: var(--background);
  color: var(--text); line-height: var(--line-height); min-height: 100vh; overflow-x: hidden;
}

/* Typography */
h1, h2, h3, h4, h5, h6 { margin-bottom: 0.5em; font-weight: 600; line-height: 1.3; color: var(--text); }
p { margin-bottom: 1rem; }

/* Table styles */
table {
  width: 100%; max-width: 1000px; border-collapse: separate; border-spacing: 0;
  margin: 20px 0; background-color: var(--surface); border-radius: var(--border-radius);
  overflow: hidden; box-shadow: var(--shadow);
}
th, td { padding: 16px; text-align: left; border-bottom: 1px solid var(--border); }
th {
  background: var(--primary-gradient); color: white; font-weight: 600;
  text-transform: uppercase; font-size: var(--font-size-sm); 
  letter-spacing: 0.5px; position: relative;
}
th:not(:last-child)::after, td:not(:last-child)::after {
  content: ''; position: absolute; right: 0; top: 25%; height: 50%; width: 1px;
  background-color: rgba(255, 255, 255, 0.2);
}
td:not(:last-child)::after { background-color: var(--border); }
tr:last-child td { border-bottom: none; }
tr:hover { background-color: var(--surface-hover); }
tbody tr:nth-child(even) { background-color: rgba(0, 0, 0, 0.02); }

/* Header */
#cabecalho {
  width: 100%; background: var(--primary-gradient); color: white; padding: 1.2rem 2rem;
  display: flex; justify-content: space-between; align-items: center; position: relative;
  font-family: var(--font-primary); box-shadow: var(--shadow);
  margin-bottom: 20px; overflow: hidden; min-height: 80px;
}
#cabecalho::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background-image: 
    radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.1) 0%, transparent 20%),
    radial-gradient(circle at 80% 70%, rgba(255, 255, 255, 0.08) 0%, transparent 20%);
  opacity: 0.7;
}
#cabecalho h1, #cabecalho h2, #cabecalho p {
  color: white; position: relative; z-index: 1; margin: 0;
}
#cabecalho h1 { font-size: 2rem; font-weight: 600; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); }
.id-cabecalho { flex: 1; }

/* Inserção da operação para consulta */
.insere-operacao { display: flex; align-items: center; }
.insere-operacao form {
  display: flex; align-items: center; height: auto; background-color: transparent;
  padding: 0; margin: 0; box-shadow: none; gap: 12px;
}
.insere-operacao input[type="text"] {
  width: 150px !important; padding: 10px 12px; border-radius: var(--border-radius);
  background-color: rgba(255, 255, 255, 0.9); border: 2px solid rgba(255, 255, 255, 0.9);
  font-size: 1rem; color: var(--text); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease; position: relative; z-index: 5;
  pointer-events: auto;
}
.insere-operacao input[type="text"]:focus {
  border-color: white; background-color: white; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  outline: 2px solid var(--primary); outline-offset: 1px; /* Adiciona indicação visual de foco */
}
.insere-operacao label {
  color: white; font-weight: 600; font-size: 1.1rem; margin-right: 5px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); white-space: nowrap; 
  background-color: transparent;
}
.insere-operacao button {
  padding: 10px 24px; background-color: rgba(255, 255, 255, 0.2);
  border: 2px solid white; color: white; font-weight: 600; font-size: 1rem;
  border-radius: var(--border-radius); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease;
}
.insere-operacao button:hover {
  background-color: rgba(255, 255, 255, 0.3); transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.insere-operacao button:active {
  transform: translateY(0); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

/* Form elements */
input:not([type="checkbox"]):not([type="radio"]), select {
  padding: 12px 16px; border: 1px solid var(--border); border-radius: var(--border-radius);
  font-size: var(--font-size); transition: var(--transition);
  background-color: var(--surface); color: var(--text);
  appearance: none; -webkit-appearance: none; position: relative;
  z-index: 2; pointer-events: auto;
}
input:not([type="checkbox"]):not([type="radio"]):hover, select:hover { border-color: var(--primary-light); }
input:not([type="checkbox"]):not([type="radio"]):focus, select:focus {
  outline: none; border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(58, 54, 224, 0.15);
}

/* Custom checkbox styling */
input[type="checkbox"] {
  -webkit-appearance: none; appearance: none; width: 20px; height: 20px;
  border: 2px solid var(--border); border-radius: 4px; background-color: var(--surface);
  display: inline-block; position: relative; margin-right: 8px;
  vertical-align: middle; cursor: pointer; transition: var(--transition);
}
input[type="checkbox"]:checked { background-color: var(--primary); border-color: var(--primary); }
input[type="checkbox"]:checked::after {
  content: ''; position: absolute; left: 6px; top: 2px; width: 5px; height: 10px;
  border: solid white; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
input[type="checkbox"]:hover { border-color: var(--primary-light); }
input[type="checkbox"]:focus {
  outline: none; box-shadow: 0 0 0 3px rgba(58, 54, 224, 0.15);
}

/* Custom radio button styling */
input[type="radio"] {
  -webkit-appearance: none; appearance: none; width: 20px; height: 20px;
  border: 2px solid var(--border); border-radius: 50%; background-color: var(--surface);
  display: inline-block; position: relative; margin-right: 8px;
  vertical-align: middle; cursor: pointer; transition: var(--transition);
}
input[type="radio"]:checked { border-color: var(--primary); }
input[type="radio"]:checked::after {
  content: ''; position: absolute; left: 4px; top: 4px; width: 8px; height: 8px;
  border-radius: 50%; background-color: var(--primary);
}
input[type="radio"]:hover { border-color: var(--primary-light); }
input[type="radio"]:focus { outline: none; box-shadow: 0 0 0 3px rgba(58, 54, 224, 0.15); }

/* Custom select arrow */
select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232d3748' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center;
  background-size: 16px; padding-right: 35px;
}

/* Button styling */
button {
  background: var(--primary-gradient); color: white; border: none;
  padding: 12px 24px; border-radius: var(--border-radius); margin-left: 10px;
  cursor: pointer; transition: var(--transition-bounce); font-weight: 600;
  font-size: var(--font-size); box-shadow: var(--shadow-sm);
  position: relative; overflow: hidden;
}
button:hover { transform: translateY(-3px); box-shadow: var(--shadow-hover); }
button:active { transform: translateY(1px); box-shadow: var(--shadow-sm); }

/* Button ripple effect */
button::after {
  content: ''; position: absolute; top: 50%; left: 50%; width: 5px; height: 5px;
  background: rgba(255, 255, 255, 0.5); opacity: 0; border-radius: 100%;
  transform: scale(1, 1) translate(-50%); transform-origin: 50% 50%;
}
button:focus:not(:active)::after { animation: ripple 1s ease-out; }
@keyframes ripple {
  0% { transform: scale(0, 0); opacity: 0.5; }
  100% { transform: scale(100, 100); opacity: 0; }
}

/* Container layout */
#container {
  display: grid; grid-template-columns: 250px 1fr; gap: 25px;
  padding: 0 30px 30px 30px; max-width: 1500px; margin: 0 auto;
}

/* Menu styling */
#menu {
  background-color: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px); border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow); padding: 15px 0; position: relative;
  overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.8);
}
#menu::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 60px;
  background: linear-gradient(180deg, rgba(255,255,255,0.1) 0%, transparent 100%);
  z-index: 0;
}
#menu ul { list-style-type: none; padding: 0; position: relative; }

/* Navigation items */
nav a {
  display: flex; align-items: center; text-decoration: none; padding: 14px 24px;
  transition: var(--transition); color: var(--text); font-weight: 500;
  font-size: var(--font-size); border-left: 4px solid transparent;
  position: relative; z-index: 1;
}
nav li a { color: var(--text); position: relative; }
nav a::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background-color: transparent; z-index: -1; transition: var(--transition);
  transform: translateX(-10px); opacity: 0;
}
nav li:hover a::before {
  transform: translateX(0); opacity: 1; background-color: rgba(0, 0, 0, 0.04);
}

/* Color indicators for menu items */
nav li:nth-child(1) a { border-left-color: #a2d2ff; }
nav li:nth-child(2) a { border-left-color: #4941b1; }
nav li:nth-child(3) a { border-left-color: #9da07a; }
nav li:nth-child(4) a { border-left-color: #d17b35; }
nav li:nth-child(5) a { border-left-color: #2d6b16; }
nav li:nth-child(6) a { border-left-color: #9322c3; }
nav li:nth-child(7) a { border-left-color: #84a5cc; }
nav li:nth-child(8) a { border-left-color: #7d8793; }
nav li:nth-child(9) a { border-left-color: #81521c; }
nav li:nth-child(10) a { border-left-color: #efc312; }
nav li:hover a { border-left-width: 8px; padding-left: 20px; }

/* Main content area */
#principal {
  background-color: var(--surface); padding: 30px; 
  border-radius: var(--border-radius-lg); box-shadow: var(--shadow);
  transition: var(--transition);
}
#principal:hover { box-shadow: var(--shadow-lg); }

/* Footer styling */
#rodape {
  width: 100%; background: var(--secondary-gradient); color: var(--text-dark);
  text-align: center; padding: 25px; margin-top: 40px;
  border-radius: var(--border-radius-lg); position: relative; 
  overflow: hidden; font-weight: 500;
}
#rodape::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background-image: 
    radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.15) 0%, transparent 20%),
    radial-gradient(circle at 80% 70%, rgba(255, 255, 255, 0.1) 0%, transparent 20%);
  opacity: 0.7;
}

/* CHECKLIST (1-15) */
.checklist {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.checklist > div {
  border-radius: var(--border-radius); padding: 25px; box-shadow: var(--shadow);
  transition: var(--transition-bounce); position: relative; overflow: hidden;
}
.checklist > div:hover {
  transform: translateY(-5px); box-shadow: var(--shadow-hover);
}
.checklist > div::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background-image: radial-gradient(circle at 90% 10%, rgba(0, 0, 0, 0.03) 0%, transparent 30%);
  opacity: 0.7; pointer-events: none;
}

/* Card designs with color variations */
.checklist1 { background-color: #f9f9f9; border-left: 5px solid #9e9e9e; }
/* .checklist2 { background-color: #e3f2fd; border-left: 5px solid #2196f3; } */




.checklist2 {
  background-color: #e3f2fd;
  border-left: 5px solid #2196f3;
  display: flex;
  flex-wrap: wrap; 
  flex-direction: row;
  width: 100%;
}

.checklist2 > h2 {
  width: 100%;
  margin-bottom: 20px;
}

#analiseDocumental01,
#analiseDocumental02 {
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: var(--border-radius);
  padding: 15px;
  margin: 10px;
  box-shadow: var(--shadow-sm);
  min-width: 150px; 
}

#analiseDocumental01 { flex: 1; }
#analiseDocumental02 { flex: 1; }

#analiseDocumental01 h3,
#analiseDocumental012 h3 {
  margin-top: 0;
  margin-bottom: 15px;
  color: var(--primary-dark);
  font-size: 1.2rem;
}

#analiseDocumental01 label,
#analiseDocumental02 label {
  margin-right: 10px;
}

#analiseDocumental01 input[type="radio"],
#analiseDocumental02 input[type="radio"] {
  margin-right: 5px;
}





















.checklist3 {
  background-color: #e8f5e9;
  border-left: 5px solid #4caf50;
  display: flex;
  flex-wrap: wrap; 
  flex-direction: row;
  width: 100%;
}

.checklist3 > h2 {
  width: 100%;
  margin-bottom: 20px;
}

#inexecucaoFinanceira,
#complementoPrimeiroDesbloqueio {
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: var(--border-radius);
  padding: 15px;
  margin: 10px;
  box-shadow: var(--shadow-sm);
  min-width: 150px; 
}

#inexecucaoFinanceira { flex: 1; }
#complementoPrimeiroDesbloqueio { flex: 2; }

#inexecucaoFinanceira h3,
#complementoPrimeiroDesbloqueio h3 {
  margin-top: 0;
  margin-bottom: 15px;
  color: var(--primary-dark);
  font-size: 1.2rem;
}

#inexecucaoFinanceira label,
#complementoPrimeiroDesbloqueio label {
  margin-right: 10px;
}

#inexecucaoFinanceira input[type="radio"],
#complementoPrimeiroDesbloqueio input[type="radio"] {
  margin-right: 5px;
}

@media (max-width: 768px) {
  #inexecucaoFinanceira,
  #complementoPrimeiroDesbloqueio {
    flex: 1 1 100%;
    min-width: auto; 
  }
}

/* Estilo para checklist4 */
.checklist4 { 
  background-color: #ffebee; 
  border-left: 5px solid #f44336; 
  display: flex; 
  flex-wrap: wrap; 
}
.checklist4 > h2 { 
  width: 100%; 
  margin-bottom: 20px; 
}

#ultimoDesblCol1, #ultimoDesblCol2 {
  background-color: rgba(255, 255, 255, 0.5); 
  border-radius: var(--border-radius);
  padding: 15px; 
  margin: 10px; 
  box-shadow: var(--shadow-sm);
}
#ultimoDesblCol1, #ultimoDesblCol2 { 
  flex: 1; 
  min-width: 200px; 
}

#ultimoDesblCol1 h3, #ultimoDesblCol2 h3 {
  margin-top: 0; 
  margin-bottom: 15px; 
  color: var(--primary-dark); 
  font-size: 1.2rem;
}
#ultimoDesblCol1 label, #ultimoDesblCol2 label { 
  margin-right: 10px; 
}
#ultimoDesblCol1 input[type="radio"], 
#ultimoDesblCol2 input[type="radio"] { 
  margin-right: 5px; 
}

.checklist5 { background-color: #fffde7; border-left: 5px solid #ffeb3b; }
.checklist6 { background-color: #f3e5f5; border-left: 5px solid #9c27b0; }
.checklist7 { background-color: #e0f7fa; border-left: 5px solid #00bcd4; }
.checklist8 { background-color: #e8f5e9; border-left: 5px solid #009688; }
.checklist9 { background-color: #fff8e1; border-left: 5px solid #ff9800; }
.checklist10 { background-color: #fbe9e7; border-left: 5px solid #ff5722; }
.checklist11 { background-color: #e1f5fe; border-left: 5px solid #03a9f4; }
.checklist12 { background-color: #f1f8e9; border-left: 5px solid #8bc34a; }
.checklist13 { background-color: #efebe9; border-left: 5px solid #795548; }
.checklist14 { background-color: #eceff1; border-left: 5px solid #607d8b; }
.checklist15 { background-color: #e8eaf6; border-left: 5px solid #3f51b5; }

/* Form field widths */
#operacao { width: 150px; }
#convenio { width: 120px; }
#tomador { width: 600px; max-width: 100%; }
#cnpj { width: 200px; max-width: 100%; }
#regramento { width: 500px; max-width: 100%; }
#assinatura { width: 150px; max-width: 100%; }
#objeto { width: 90%; max-width: 100%; }
#etiquetasDaOperacao { width: 90%; max-width: 100%; }

/* Misc form styles */
input::placeholder { color: var(--text-light); opacity: 0.7; }
:focus { outline: 2px solid var(--primary); outline-offset: 2px; } /* Restaura outline para melhor usabilidade */
:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

/* Form layout helpers */
label {
  display: inline-flex; align-items: center; margin: 6px 0;
  cursor: pointer; font-size: var(--font-size); color: var(--text);
}
.form-group { margin-bottom: 15px; }
input[type="checkbox"] + label, input[type="radio"] + label { display: inline-flex; align-items: center; }
label + input[type="checkbox"], label + input[type="radio"] { margin-left: 8px; }

/* Estilos para a tabela de controle de desbloqueio */
#controleDesbloqueio {
  width: 90%;
  border-collapse: separate;
  border-spacing: 0;
  box-shadow: var(--shadow);
  margin: 20px 0;
  border-radius: var(--border-radius);
  overflow: hidden;
  table-layout: fixed;
}

#controleDesbloqueio th,
#controleDesbloqueio td {
  border: 1px solid var(--border);
  padding: 12px;
  text-align: left;
  position: relative;
  width: 33.33%;
  word-wrap: break-word;
}

/* Criar efeito de grade com linhas mais finas */
#controleDesbloqueio th:not(:last-child)::after,
#controleDesbloqueio td:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 10%;
  height: 80%;
  width: 1px;
  background-color: rgba(0, 0, 0, 0.1);
}

/* Cabeçalho e células verde - usando variável accent-4 */
#controleDesbloqueio .cabecalho-cr,
#controleDesbloqueio .linha-cr td {
  background-color: var(--accent-4);
  color: white;
  border-color: rgba(0, 0, 0, 0.1);
}

/* Cabeçalho azul - usando variável primary-dark */
#controleDesbloqueio .cabecalho-ctef {
  background-color: var(--primary-dark);
  color: white;
  border-color: rgba(0, 0, 0, 0.1);
}

/* Linhas azul claro - usando variável secondary-light */
#controleDesbloqueio .linha-ctef td {
  background-color: var(--secondary-light);
  border-color: rgba(0, 0, 0, 0.1);
}

/* Bordas internas dos cabeçalhos */
#controleDesbloqueio .cabecalho-cr::after,
#controleDesbloqueio .cabecalho-ctef::after {
  background-color: rgba(255, 255, 255, 0.2);
}

/* Transição suave para efeito hover */
#controleDesbloqueio tbody tr td {
  transition: var(--transition-fast);
}

/* Estilos para hover consistentes com o design do sistema */
#controleDesbloqueio tbody tr:hover td:not(.linha-cr td):not(.linha-ctef td) {
  background-color: var(--surface-hover);
}

/* Manter a cor original mesmo com hover, mas com efeito sutil */
#controleDesbloqueio .linha-cr:hover td {
  background-color: var(--accent-4);
  filter: brightness(1.05);
}

#controleDesbloqueio .linha-ctef:hover td {
  background-color: var(--secondary-light);
  filter: brightness(1.05);
}

textarea {
  width: 100%;
  min-height: 250px; /* Altura mínima */
  overflow: hidden; /* Evitar barra de rolagem */
  resize: none; /* Desabilitar redimensionamento manual */
}

#tarifasInputs {
  margin-top: 10px;
}

.tarifaRow {
  margin-bottom: 10px;
}

button {
  margin-top: 20px;
}

input[disabled], textarea[disabled] {
  background-color: #f0f0f0; /* Cor de fundo quando desabilitado */
  color: #aaa; /* Cor do texto */
  border: 1px solid #ccc; /* Borda mais clara */
}

input, textarea {
  transition: all 0.3s ease;
}

/* Empresas executoras */
#empresas-container {
  margin-bottom: 10px;
}

.empresa-row {
  margin-bottom: 10px;
  padding: 8px;
  border-radius: 4px;
  background-color: #f9f9f9;
}

.empresa-select-container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.select-empresa {
  min-width: 250px;
  padding: 4px;
}

.valor-ctef {
  width: 120px;
  padding: 4px;
}

.remover-empresa {
  background-color: #ff5555;
  color: white;
  border: none;
  padding: 4px 8px;
  border-radius: 4px;
  cursor: pointer;
}

.remover-empresa:hover {
  background-color: #ff3333;
}

.adicionar-empresa {
  background-color: #4CAF50;
  color: white;
  border: none;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
  margin-bottom: 15px;
}

.adicionar-empresa:hover {
  background-color: #45a049;
}

/* Estilos adicionais */
/* Adicione estas classes ao seu arquivo CSS externo existente */

/* Estilos para grupos de formulários */
.form-group {
  margin-bottom: 15px;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 15px;
  gap: 10px;
}

/* Estilos para grupos de radio buttons */
.radio-group {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 5px 0;
}

/* Espaçador para alinhamento */
.spacer {
  color: transparent;
  user-select: none;
}

/* Layout de duas colunas */
.two-column-layout {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.two-column-layout > div {
  flex: 1;
  min-width: 300px;
}

/* Seções de cálculo */
.calculo-section {
  margin: 15px 0;
}

.calculo-section h3 {
  font-size: 1em;
  margin: 10px 0;
  font-weight: bold;
}

/* Melhorias para campos de texto */
textarea {
  width: 100%;
  resize: vertical;
  min-height: 100px;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

/* Melhorias para linhas de tarifa */
.tarifaRow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  padding: 5px;
  border-bottom: 1px solid #eee;
}

/* Responsive design */
@media (max-width: 1200px) {
  #container { grid-template-columns: 220px 1fr; padding: 0 20px 20px 20px; }
}
@media (max-width: 992px) {
  :root { --font-size: 0.95rem; }
  #container { grid-template-columns: 1fr; }
  #cabecalho { grid-template-columns: 1fr; text-align: center; padding: 1.5rem; }
  .insere-operacao form { flex-direction: column; align-items: flex-start; }
  input, select, button { width: 100%; margin-left: 0; }
  button { margin-top: 10px; }
  #tomador { width: 100%; }
  #menu { margin-bottom: 20px; }
}
@media (max-width: 576px) {
  :root { --font-size: 0.9rem; }
  #cabecalho { padding: 1.2rem; }
  .insere-operacao form { padding: 1.2rem; }
  #principal { padding: 20px; }
  .checklist > div { padding: 20px; }
}

/* Print styles */
@media print {
  body { background-color: white; }
  #cabecalho, #menu, button { display: none; }
  #container { display: block; }
  #principal { box-shadow: none; padding: 0; }
  .checklist > div {
    break-inside: avoid; box-shadow: none; 
    border-left-width: 2px; padding: 15px; margin-bottom: 20px;
  }
}