:root,
html[data-theme="light"],
html[data-theme="dark"] {
  --primary: #00602d;
  --secondary: #004d24;
  --accent: #f91d21;
  --accent-soft: #fde9ea;
  --accent-soft-border: #f4c2c4;
  --primary-fg: #ffffff;

  --body-bg: #eef7f1;
  --body-fg: #171717;
  --body-quiet-color: #33403a;
  --body-medium-color: #24302b;
  --body-loud-color: #0f1412;
  --header-bg: #00602d;
  --header-color: #ffffff;
  --header-link-color: #ffffff;
  --header-branding-color: #ffffff;

  --breadcrumbs-bg: #f1f4f1;
  --breadcrumbs-fg: #171717;
  --breadcrumbs-link-fg: #004d24;

  --link-fg: #00602d;
  --link-hover-color: #004d24;
  --link-selected-fg: #f91d21;

  --hairline-color: #d7deda;
  --border-color: #d7deda;

  --button-bg: #00602d;
  --button-fg: #ffffff;
  --button-hover-bg: #004d24;

  --default-button-bg: #00602d;
  --default-button-hover-bg: #004d24;
  --delete-button-bg: #d3171b;
  --delete-button-hover-bg: #b31216;

  --message-success-bg: #e6f4ec;
  --message-info-bg: #e8f2fb;
  --message-warning-bg: #fff3df;
  --message-error-bg: #fce8e8;
  --darkened-bg: #e0ece4;
  --selected-bg: #dfe8e3;
  --selected-row: #d7e6dc;
  color-scheme: light;
}

body {
  background: var(--body-bg);
  color: var(--body-fg);
}

#content,
#content h1,
#content h2,
#content h3,
#content h4,
#content p,
#content li,
#content label,
th,
td,
fieldset,
.aligned .form-row,
.results th,
.results td {
  color: var(--body-fg);
}

.help,
.helptext,
.quiet {
  color: var(--body-quiet-color);
}

.module,
#changelist-filter,
.inline-group,
.dashboard .module table th,
.dashboard .module table td {
  background: #ffffff;
}

.breadcrumbs {
  border-bottom: 2px solid var(--accent-soft-border);
}

.object-tools a:link,
.object-tools a:visited {
  background: var(--accent);
}

.object-tools a:hover {
  background: #d3171b;
}

.messagelist .warning {
  border-left: 4px solid #b26a00;
}

.messagelist .error {
  border-left: 4px solid #d3171b;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline: 2px solid #9ccfb5;
  outline-offset: 1px;
}

.button.cancel-link,
a.deletelink,
.submit-row a.deletelink {
  background: var(--delete-button-bg);
}

.button.cancel-link:hover,
a.deletelink:hover,
.submit-row a.deletelink:hover {
  background: var(--delete-button-hover-bg);
}

/* Enhanced error styling for all admin forms */
.errornote {
  background: #fff5f5;
  border: 3px solid #dc2626;
  border-radius: 8px;
  padding: 16px 20px;
  margin: 0 0 24px 0;
  font-size: 1.1rem;
  font-weight: bold;
  color: #dc2626;
  box-shadow: 0 4px 12px rgba(220, 38, 38, 0.15);
  position: relative;
}

.errornote::before {
  content: "⚠️";
  margin-right: 10px;
  font-size: 1.3rem;
}

.errorlist {
  background: #fff5f5;
  border: 2px solid #dc2626;
  border-radius: 6px;
  padding: 12px 16px 12px 40px;
  margin: 8px 0;
  list-style-type: none;
  position: relative;
}

.errorlist::before {
  content: "❌";
  position: absolute;
  left: 12px;
  top: 12px;
  font-size: 1.1rem;
}

.errorlist li {
  margin: 4px 0;
  padding: 4px 0;
  color: #b91c1c;
  font-weight: 600;
}

.form-row.errors {
  background: #fff5f5;
  border-radius: 8px;
  padding: 12px;
  margin: 8px 0;
  border-left: 6px solid #dc2626;
}

.form-row.errors label {
  color: #dc2626;
  font-weight: bold;
}

.form-row.errors input,
.form-row.errors select,
.form-row.errors textarea {
  border: 2px solid #dc2626 !important;
  background-color: #fff5f5 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1) !important;
}

/* Debug error container */
.debug-errors {
  background: #fef3c7;
  border: 3px solid #d97706;
  border-radius: 8px;
  padding: 16px 20px;
  margin: 0 0 24px 0;
  font-family: monospace;
  font-size: 0.9rem;
  color: #92400e;
}

.debug-errors h3 {
  margin: 0 0 10px 0;
  font-size: 1rem;
  color: #92400e;
  border-bottom: 2px solid #d97706;
  padding-bottom: 5px;
}

.debug-errors pre {
  background: #fff;
  border: 1px solid #d97706;
  border-radius: 4px;
  padding: 12px;
  margin: 8px 0;
  overflow: auto;
  max-height: 300px;
  white-space: pre-wrap;
  word-wrap: break-word;
}
