body {
  font-family: Arial, sans-serif;
  background-color: #F7F7F7;
  color: #333;
}
.map-container {
  width: 100%;
  height: 350px;
  overflow: hidden;
  position: relative;
  border: 1px solid #CCC;
}
.map-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
th, td {
  padding: 0.75rem;
  text-align: left;
  border-bottom: 1px solid #CCC;
}
th {
  background-color: #0071BC;
  color: white;
}
tr:hover {
  background-color: #F5F5F5;
}
@media (max-width: 600px) {
  th, td {
    font-size: 0.9rem;
    padding: 0.5rem;
  }
}

.table-name-display:hover {
    background-color: #f3f4f6;
}

.table-name-edit input {
    min-width: 120px;
}

/* Resette-specific prose styling */
.prose-resette {
    color: #333333;
    line-height: 1.6;
}

/* Remove margins between headers and following content */
.prose-resette h1 + p,
.prose-resette h2 + p,
.prose-resette h3 + p,
.prose-resette h4 + p,
.prose-resette h5 + p,
.prose-resette h6 + p {
    margin-top: 0;
}

/* Remove margins between headers and lists */
.prose-resette h1 + ul,
.prose-resette h2 + ul,
.prose-resette h3 + ul,
.prose-resette h1 + ol,
.prose-resette h2 + ol,
.prose-resette h3 + ol {
    margin-top: 0.25rem;  /* Very small gap */
}


/* Headers - matching the title color exactly */
.prose-resette h1 {
    color: #1A4480;
    font-size: 1.875rem;
    font-weight: 700;
    margin-bottom: 0.5rem;  /* Consistent bottom margin */
    margin-top: 0;  /* No top margin for first h1 */
    line-height: 1.2;
}

.prose-resette h2 {
    color: #1A4480;
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 0.5rem;  /* Consistent bottom margin */
    margin-top: 0.75rem;  /* Small top margin */
    line-height: 1.3;
}

.prose-resette h3 {
    color: #1A4480;
    font-size: 1.25rem; /* 20px */
    font-weight: 600;
    margin-bottom: 0.375rem;
    margin-top: 0.75rem;
    line-height: 1.4;
}

.prose-resette h4 {
    color: #1A4480;
    font-size: 1.125rem; /* 18px */
    font-weight: 600;
    margin-bottom: 0.375rem;
    margin-top: 0.75rem;
    line-height: 1.4;
}

.prose-resette h5 {
    color: #1A4480;
    font-size: 1rem; /* 16px */
    font-weight: 600;
    margin-bottom: 0.25rem;
    margin-top: 0.5rem;
    line-height: 1.5;
}

.prose-resette h6 {
    color: #1A4480;
    font-size: 0.875rem; /* 14px */
    font-weight: 600;
    margin-bottom: 0.25rem;
    margin-top: 0.5rem;
    line-height: 1.5;
}

/* Paragraphs - proper spacing between paragraphs */
.prose-resette p {
    margin-bottom: 1.5rem;  /* Space between paragraphs */
    margin-top: 0;
    line-height: 1.5;
}


/* Links */
.prose-resette a {
    color: #0071BC;
    text-decoration: underline;
    font-weight: 500;
}

.prose-resette a:hover {
    color: #1A4480;
}

/* Bold text */
.prose-resette strong {
    font-weight: 600;
    color: inherit;
}

/* Italic text */
.prose-resette em {
    font-style: italic;
}

/* Lists - tight spacing within lists */
.prose-resette ul {
    list-style-type: disc;
    padding-left: 1.25rem;
    margin-bottom: 1rem;
    margin-top: 0.5rem;
}

.prose-resette ol {
    list-style-type: decimal;
    padding-left: 1.25rem;
    margin-bottom: 1rem;
    margin-top: 0.5rem;
}
/* No spacing between list items - reduced line height */
.prose-resette li {
    margin: 0;
    padding: 0;
    line-height: 0.25;  /* Reduced from 0.25 to make items closer */
}

/* But preserve spacing after paragraphs before lists */
.prose-resette p + ul,
.prose-resette p + ol {
    margin-top: 1rem;
}

/* No margin on first element */
.prose-resette > *:first-child {
    margin-top: 0 !important;
}

/* Reduced margin on last element */
.prose-resette > *:last-child {
    margin-bottom: 0 !important;
}

/* Nested lists should have less spacing */
.prose-resette li ul,
.prose-resette li ol {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

/* Direct spacing between list items */
.prose-resette li + li {
    margin-top: 0;  /* No space between items */
}

/* Code */
.prose-resette code {
    background-color: #f3f4f6;
    padding: 0.125rem 0.25rem;
    border-radius: 0.25rem;
    font-size: 0.875em;
    font-family: monospace;
}

.prose-resette pre {
    background-color: #f3f4f6;
    padding: 1rem;
    border-radius: 0.5rem;
    overflow-x: auto;
    margin-bottom: 1rem;
    margin-top: 1rem;
}

.prose-resette pre code {
    background-color: transparent;
    padding: 0;
}

/* Blockquotes */
.prose-resette blockquote {
    border-left: 4px solid #0071BC;
    padding-left: 1rem;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 1rem;
    margin-top: 1rem;
    background-color: #f8fafc;
    padding: 0.75rem 1rem;
    font-style: italic;
}

/* Horizontal rules */
.prose-resette hr {
    border: 0;
    border-top: 1px solid #d1d5db;
    margin: 1.5rem 0;
}

/* Tables */
.prose-resette table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1rem;
    margin-top: 1rem;
}

.prose-resette thead th {
    background-color: #0071BC;
    color: white;
    padding: 0.75rem;
    text-align: left;
    font-weight: 600;
}

.prose-resette tbody td {
    padding: 0.75rem;
    border-bottom: 1px solid #d1d5db;
}

.prose-resette tbody tr:hover {
    background-color: #f9fafb;
}

/* First child margin reset */
.prose-resette > *:first-child {
    margin-top: 0;
}

/* Last child margin reset */
.prose-resette > *:last-child {
    margin-bottom: 0;
}