:root {
  --fg:#222; --muted:#666; --bg:#fafafa; --card:#fff; --primary:#1a73e8;
  --primary-press:#155fc2; --border:#e5e7eb;
}
*{ box-sizing:border-box; }
body{
  margin:0; font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial;
  color:var(--fg); background:var(--bg);
}
.container{ max-width:980px; margin:40px auto; padding:0 16px; }
h1{ font-size:24px; margin:0 0 20px; }
h1 small{ color:var(--muted); font-weight:400; }

.card{
  background:var(--card); padding:16px; border-radius:12px;
  box-shadow:0 2px 10px rgba(0,0,0,.06); margin-bottom:16px;
  border:1px solid var(--border);
}
.card h2{ font-size:16px; margin:0 0 12px; color:#111; }

label{ display:block; margin:8px 0; }
input[type="text"], select{
  width:100%; padding:10px 12px; border:1px solid #ddd; border-radius:10px;
  background:#fff;
}
.row{ display:flex; gap:12px; }
.col{ flex:1; }

.actions{ display:flex; gap:12px; }
button{
  padding:10px 14px; border-radius:10px; border:1px solid #ddd; background:#fff; cursor:pointer;
}
button.primary{
  background:var(--primary); color:#fff; border-color:var(--primary);
}
button.primary:active{ background:var(--primary-press); }

pre{ white-space:pre-wrap; margin:0; }
.hidden{ display:none; }
pre.error{ color:#b00020; }
.hint{ margin:.5rem 0 0; color:#666; font-size:.95rem }
.red{ color:#d00; font-weight:600; }

/* Todas as checkboxes no mesmo bloco */
.checks{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:10px 16px;
}
.checks > label{
  display:flex; align-items:center; gap:8px; margin:0;
}
.checks > label.full{
  grid-column: 1 / -1; /* ocupa a linha inteira */
}
.checks input[type="checkbox"]{ transform: translateY(1px); }

/* ====== Estilo do input de arquivo ====== */
input.file{
  width:100%; padding:10px 12px; border:1px solid #ddd; border-radius:10px; background:#fff;
}

/* Estiliza o botão nativo (Chrome, Edge, etc.) */
input.file::file-selector-button{
  margin-right:12px; padding:8px 12px; border:none; border-radius:8px;
  background:var(--primary); color:#fff; cursor:pointer; font-weight:600;
}
input.file::file-selector-button:hover{ filter:brightness(0.98); }
input.file::file-selector-button:active{ background:var(--primary-press); }

/* Firefox usa pseudo-elementos diferentes — fallback simples */
@-moz-document url-prefix() {
  input.file{
    padding:8px 10px;
  }
}

.header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}
