/* ========================================
   Base typography & links
   ======================================== */

body {
  font-family: "Helvetica Neue", system-ui, -apple-system, BlinkMacSystemFont,
               "Segoe UI", sans-serif;
  line-height: 1.6;
}

h1 {
  color: #2a4f84; /* deep blue for headings */
}

a {
  color: #1c7ed6; /* link blue */
}

/* Keep the light/dark theme toggle visible */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ========================================
   Table alignment and layout
   ======================================== */

/* Align docutils tables left and make them full-width,
   but DO NOT change their colors globally. */
table.docutils {
  margin-left: 0 !important;
  margin-right: auto !important;
  width: 100%;
  border-collapse: collapse;
}

/* Override any centering wrapper that Sphinx/Furo may add */
div.align-center {
  text-align: left !important;
}

/* List-tables: first column often used for checkboxes/emojis */
.list-table td:first-child,
.table-wrapper.checklist-table td:first-child {
  text-align: center;
  width: 2.5em;
  font-family: "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
}

/* ========================================
   Checklist tables – high-contrast light theme
   ======================================== */

body .table-wrapper.checklist-table,
body .table-wrapper.checklist-table {
  border: none !important;          /* no outer border at all */
  border-radius: 6px;
  padding: 0.75em;
  margin: 1.5em 0;
  background-color: transparent;
}

/* Ensure inner table fits properly */
body .table-wrapper.checklist-table table,
body table.checklist-table {
  width: 100%;
  border-collapse: collapse;
}

/* Header row */
body .table-wrapper.checklist-table thead th,
body table.checklist-table thead th {
  background-color: #dce3ec !important;  /* richer neutral */
  color: #0d1a26 !important;             /* dark blue for strong contrast */
  font-weight: 600;
  border-bottom: 1px solid #b6c2d1;
}

/* Row striping */
body .table-wrapper.checklist-table tbody tr:nth-child(odd) td,
body table.checklist-table tbody tr:nth-child(odd) td {
  background-color: #f1f4f8 !important;  /* light cool gray */
}

body .table-wrapper.checklist-table tbody tr:nth-child(even) td,
body table.checklist-table tbody tr:nth-child(even) td {
  background-color: #e7ebf2 !important;  /* slightly deeper gray */
}

/* Hover */
body .table-wrapper.checklist-table tbody tr:hover td,
body table.checklist-table tbody tr:hover td {
  background-color: #dbe3ee !important;  /* light blue-gray hover */
}

/* Borders and padding */
body .table-wrapper.checklist-table td,
body .table-wrapper.checklist-table th,
body table.checklist-table td,
body table.checklist-table th {
  padding: 0.45em 0.6em;
  border: 1px solid #b6c2d1;
  color: #0d1a26;                        /* ensure readable text */
}

/* ========================================
   Checklist tables – fix double left border
   ======================================== */

/* 1) Remove any existing borders on wrapper/table,
      then re-apply only the accent stripe on the wrapper */
body .table-wrapper.checklist-table {
  border: none !important;                    /* kill any default borders */
  border-left: 4px solid #23445a !important;  /* single Prussian accent */
}

body table.checklist-table {
  border-left: none !important;               /* ensure table itself has no left border */
}

/* 2) Keep cell borders, but remove the left edge on the first column */
body .table-wrapper.checklist-table td,
body .table-wrapper.checklist-table th,
body table.checklist-table td,
body table.checklist-table th {
  /* keep whatever border you already set earlier, but we can safely
     restate it here to be explicit: */
  border-top: 1px solid #b6c2d1;
  border-right: 1px solid #b6c2d1;
  border-bottom: 1px solid #b6c2d1;
  border-left: 1px solid #b6c2d1;
}

/* Remove inner left border on the first column so only the outer accent shows */
body .table-wrapper.checklist-table td:first-child,
body .table-wrapper.checklist-table th:first-child,
body table.checklist-table td:first-child,
body table.checklist-table th:first-child {
  border-left: none !important;
}

/* ========================================
   Checklist tables – Lighter Dark Theme
   ======================================== */

body[data-theme="dark"] .table-wrapper.checklist-table,
body[data-theme="dark"] table.checklist-table {
  background-color: transparent !important;
  border: none !important;
}

/* Header */
body[data-theme="dark"] .table-wrapper.checklist-table thead th,
body[data-theme="dark"] table.checklist-table thead th {
  background-color: #1e3a52 !important;   /* brighter slate-blue */
  color: #f0f4f8 !important;              /* soft white */
  border-bottom: 1px solid #2f5164 !important;
  font-weight: 600;
}

/* Row striping */
body[data-theme="dark"] .table-wrapper.checklist-table tbody tr:nth-child(odd) td,
body[data-theme="dark"] table.checklist-table tbody tr:nth-child(odd) td {
  background-color: #162732 !important;   /* lighter dark blue */
  color: #e8eef2 !important;
}

body[data-theme="dark"] .table-wrapper.checklist-table tbody tr:nth-child(even) td,
body[data-theme="dark"] table.checklist-table tbody tr:nth-child(even) td {
  background-color: #1b3040 !important;   /* noticeably brighter than odd rows */
  color: #e8eef2 !important;
}

/* Hover */
body[data-theme="dark"] .table-wrapper.checklist-table tbody tr:hover td,
body[data-theme="dark"] table.checklist-table tbody tr:hover td {
  background-color: #25445b !important;   /* clean blue hover */
}

/* Cell borders & padding */
body[data-theme="dark"] .table-wrapper.checklist-table td,
body[data-theme="dark"] .table-wrapper.checklist-table th,
body[data-theme="dark"] table.checklist-table td,
body[data-theme="dark"] table.checklist-table th {
  border: 1px solid #2f5164 !important;   /* lighter border */
  padding: 0.45em 0.6em;
  color: #e8eef2 !important;
}

/* Restore left border on first column */
body[data-theme="dark"] .table-wrapper.checklist-table td:first-child,
body[data-theme="dark"] .table-wrapper.checklist-table th:first-child,
body[data-theme="dark"] table.checklist-table td:first-child,
body[data-theme="dark"] table.checklist-table th:first-child {
  border-left: 1px solid #2f5164 !important;
}

