@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap");

/* SERIS Custom Colors - Force generation */
.bg-seris-gray-50 { background-color: #f8f9fa; }

/* Navigation Header Fixes */
nav.bg-white {
  margin: 0;
  padding: 0;
}

nav.bg-white .flex.items-center {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
}

nav.bg-white a.flex.items-center {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.75rem; /* space-x-3 equivalent */
}

/* Global Button Cursor - All buttons should show pointer cursor */
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
a.button,
.button,
[role="button"] {
  cursor: pointer !important;
}

/* Content Assets Table - Ensure no table border, only row dividers */
.bg-white.shadow-seris.rounded-lg table {
  border: none !important;
  border-collapse: separate;
  border-spacing: 0;
}

.bg-white.shadow-seris.rounded-lg table thead,
.bg-white.shadow-seris.rounded-lg table tbody,
.bg-white.shadow-seris.rounded-lg table tr {
  border: none !important;
}

.bg-white.shadow-seris.rounded-lg table th,
.bg-white.shadow-seris.rounded-lg table td {
  border: none !important;
  border-top: 1px solid #e5e7eb;
}

.bg-white.shadow-seris.rounded-lg table thead tr th {
  border-top: none !important;
}

.bg-white.shadow-seris.rounded-lg table tbody tr:first-child td {
  border-top: 1px solid #e5e7eb !important;
}

/* Stimulus Dialog Component Styles */
/* Prevent scrolling while dialog is open */
body:has(dialog[data-dialog-target="dialog"][open]) {
  overflow: hidden;
}

/* Customize the dialog backdrop */
dialog {
  box-shadow: 0 0 0 100vw rgb(0 0 0 / 0.5);
  border: none;
  border-radius: 0.5rem;
  padding: 0;
  max-width: 90vw;
  max-height: 90vh;
  margin: auto;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Dialog content styling */
dialog .dialog-content {
  padding: 1.5rem;
  background: white;
  border-radius: 0.5rem;
}

/* Dialog header */
dialog .dialog-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e5e7eb;
}

dialog .dialog-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
}

/* Hide default details/summary marker */
details summary {
  list-style: none;
}

details summary::-webkit-details-marker {
  display: none;
}

/* Rotate chevron when details is open */
details[open] summary svg {
  transform: rotate(180deg);
}

/* Compact collapsible sections (company show, etc.) - collapsed by default */
.collapsible-section summary {
  cursor: pointer;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #374151;
  border-radius: 0.5rem;
  transition: background-color 0.15s;
}
.collapsible-section summary:hover {
  background-color: #f9fafb;
}
.collapsible-section[open] summary {
  border-bottom: 1px solid #e5e7eb;
  border-radius: 0.5rem 0.5rem 0 0;
}
.collapsible-section .collapsible-section-body {
  padding: 0.75rem 1rem;
}

dialog .dialog-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: #6b7280;
  cursor: pointer;
  padding: 0.25rem;
  border-radius: 0.25rem;
  transition: color 0.2s;
}

dialog .dialog-close:hover {
  color: #374151;
}

/* Dialog body */
dialog .dialog-body {
  margin-bottom: 1.5rem;
}

/* Dialog footer */
dialog .dialog-footer {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid #e5e7eb;
}

/* Dialog buttons */
dialog .dialog-button {
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  font-weight: 500;
  transition: all 0.2s;
  cursor: pointer;
  border: 1px solid transparent;
}

dialog .dialog-button--primary {
  background-color: #4f46e5;
  color: white;
}

dialog .dialog-button--primary:hover {
  background-color: #4338ca;
}

dialog .dialog-button--secondary {
  background-color: #f3f4f6;
  color: #374151;
  border-color: #d1d5db;
}

dialog .dialog-button--secondary:hover {
  background-color: #e5e7eb;
}

dialog .dialog-button--danger {
  background-color: #dc2626;
  color: white;
}

dialog .dialog-button--danger:hover {
  background-color: #b91c1c;
}

/* Animations */
@keyframes fade-in {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.95);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes fade-out {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.95);
  }
}

/* Add animations */
dialog[data-dialog-target="dialog"][open] {
  animation: fade-in 200ms forwards;
}

dialog[data-dialog-target="dialog"][closing] {
  animation: fade-out 200ms forwards;
}
.bg-seris-gray-100 { background-color: #f1f3f4; }
.bg-seris-gray-200 { background-color: #e8eaed; }
.bg-seris-gray-300 { background-color: #dadce0; }
.bg-seris-gray-400 { background-color: #bdc1c6; }
.bg-seris-gray-500 { background-color: #979dac; }
.bg-seris-gray-600 { background-color: #7d8597; }
.bg-seris-gray-700 { background-color: #5c677d; }
.bg-seris-gray-800 { background-color: #33415c; }
.bg-seris-gray-900 { background-color: #1a1a1a; }

.text-seris-gray-50 { color: #f8f9fa; }
.text-seris-gray-100 { color: #f1f3f4; }
.text-seris-gray-200 { color: #e8eaed; }
.text-seris-gray-300 { color: #dadce0; }
.text-seris-gray-400 { color: #bdc1c6; }
.text-seris-gray-500 { color: #979dac; }
.text-seris-gray-600 { color: #7d8597; }
.text-seris-gray-700 { color: #5c677d; }
.text-seris-gray-800 { color: #33415c; }
.text-seris-gray-900 { color: #1a1a1a; }

.border-seris-gray-50 { border-color: #f8f9fa; }
.border-seris-gray-100 { border-color: #f1f3f4; }
.border-seris-gray-200 { border-color: #e8eaed; }
.border-seris-gray-300 { border-color: #dadce0; }
.border-seris-gray-400 { border-color: #bdc1c6; }
.border-seris-gray-500 { border-color: #979dac; }
.border-seris-gray-600 { border-color: #7d8597; }
.border-seris-gray-700 { border-color: #5c677d; }
.border-seris-gray-800 { border-color: #33415c; }
.border-seris-gray-900 { border-color: #1a1a1a; }

.bg-primary-50 { background-color: #f0f4ff; }
.bg-primary-100 { background-color: #e0e9ff; }
.bg-primary-200 { background-color: #c7d8ff; }
.bg-primary-300 { background-color: #a5bfff; }
.bg-primary-400 { background-color: #7d9eff; }
.bg-primary-500 { background-color: #0466c8; }
.bg-primary-600 { background-color: #0353a4; }
.bg-primary-700 { background-color: #023e7d; }
.bg-primary-800 { background-color: #002855; }
.bg-primary-900 { background-color: #001845; }
.bg-primary-950 { background-color: #001233; }

.text-primary-50 { color: #f0f4ff; }
.text-primary-100 { color: #e0e9ff; }
.text-primary-200 { color: #c7d8ff; }
.text-primary-300 { color: #a5bfff; }
.text-primary-400 { color: #7d9eff; }
.text-primary-500 { color: #0466c8; }
.text-primary-600 { color: #0353a4; }
.text-primary-700 { color: #023e7d; }
.text-primary-800 { color: #002855; }
.text-primary-900 { color: #001845; }
.text-primary-950 { color: #001233; }

.border-primary-50 { border-color: #f0f4ff; }
.border-primary-100 { border-color: #e0e9ff; }
.border-primary-200 { border-color: #c7d8ff; }
.border-primary-300 { border-color: #a5bfff; }
.border-primary-400 { border-color: #7d9eff; }
.border-primary-500 { border-color: #0466c8; }
.border-primary-600 { border-color: #0353a4; }
.border-primary-700 { border-color: #023e7d; }
.border-primary-800 { border-color: #002855; }
.border-primary-900 { border-color: #001845; }
.border-primary-950 { border-color: #001233; }

.hover\:bg-primary-50:hover { background-color: #f0f4ff; }
.hover\:bg-primary-100:hover { background-color: #e0e9ff; }
.hover\:bg-primary-200:hover { background-color: #c7d8ff; }
.hover\:bg-primary-300:hover { background-color: #a5bfff; }
.hover\:bg-primary-400:hover { background-color: #7d9eff; }
.hover\:bg-primary-500:hover { background-color: #0466c8; }
.hover\:bg-primary-600:hover { background-color: #0353a4; }
.hover\:bg-primary-700:hover { background-color: #023e7d; }
.hover\:bg-primary-800:hover { background-color: #002855; }
.hover\:bg-primary-900:hover { background-color: #001845; }
.hover\:bg-primary-950:hover { background-color: #001233; }

.hover\:text-primary-50:hover { color: #f0f4ff; }
.hover\:text-primary-100:hover { color: #e0e9ff; }
.hover\:text-primary-200:hover { color: #c7d8ff; }
.hover\:text-primary-300:hover { color: #a5bfff; }
.hover\:text-primary-400:hover { color: #7d9eff; }
.hover\:text-primary-500:hover { color: #0466c8; }
.hover\:text-primary-600:hover { color: #0353a4; }
.hover\:text-primary-700:hover { color: #023e7d; }
.hover\:text-primary-800:hover { color: #002855; }
.hover\:text-primary-900:hover { color: #001845; }
.hover\:text-primary-950:hover { color: #001233; }

.focus\:ring-primary-50:focus { --tw-ring-color: #f0f4ff; }
.focus\:ring-primary-100:focus { --tw-ring-color: #e0e9ff; }
.focus\:ring-primary-200:focus { --tw-ring-color: #c7d8ff; }
.focus\:ring-primary-300:focus { --tw-ring-color: #a5bfff; }
.focus\:ring-primary-400:focus { --tw-ring-color: #7d9eff; }
.focus\:ring-primary-500:focus { --tw-ring-color: #0466c8; }
.focus\:ring-primary-600:focus { --tw-ring-color: #0353a4; }
.focus\:ring-primary-700:focus { --tw-ring-color: #023e7d; }
.focus\:ring-primary-800:focus { --tw-ring-color: #002855; }
.focus\:ring-primary-900:focus { --tw-ring-color: #001845; }
.focus\:ring-primary-950:focus { --tw-ring-color: #001233; }

.focus\:border-primary-50:focus { border-color: #f0f4ff; }
.focus\:border-primary-100:focus { border-color: #e0e9ff; }
.focus\:border-primary-200:focus { border-color: #c7d8ff; }
.focus\:border-primary-300:focus { border-color: #a5bfff; }
.focus\:border-primary-400:focus { border-color: #7d9eff; }
.focus\:border-primary-500:focus { border-color: #0466c8; }
.focus\:border-primary-600:focus { border-color: #0353a4; }
.focus\:border-primary-700:focus { border-color: #023e7d; }
.focus\:border-primary-800:focus { border-color: #002855; }
.focus\:border-primary-900:focus { border-color: #001845; }
.focus\:border-primary-950:focus { border-color: #001233; }

/* Purple colors for Apollo button */
.bg-purple-600 { background-color: #9333ea; }
.bg-purple-700 { background-color: #7c3aed; }
.hover\:bg-purple-700:hover { background-color: #7c3aed; }
.text-white { color: #ffffff; }
.focus\:ring-purple-500:focus { --tw-ring-color: #a855f7; }

.placeholder-seris-gray-400::placeholder { color: #bdc1c6; }

.shadow-seris { box-shadow: 0 4px 6px -1px rgba(4, 102, 200, 0.1), 0 2px 4px -1px rgba(4, 102, 200, 0.06); }
.shadow-seris-lg { box-shadow: 0 10px 15px -3px rgba(4, 102, 200, 0.1), 0 4px 6px -2px rgba(4, 102, 200, 0.05); }

/* Gradient backgrounds for logo and buttons */
.bg-gradient-to-br { background-image: linear-gradient(to bottom right, #0466c8, #023e7d); }
.bg-gradient-to-r { background-image: linear-gradient(to right, #0466c8, #023e7d); }
.from-primary-500 { --tw-gradient-from: #0466c8; --tw-gradient-to: rgba(4, 102, 200, 0); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.to-primary-700 { --tw-gradient-to: #023e7d; }

/* Report Content Styling */
.report-content {
  line-height: 1.75;
}

.report-content h1,
.report-content h2,
.report-content h3,
.report-content h4 {
  font-weight: 600;
  color: #111827;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.report-content h1 {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.report-content h2 {
  font-size: 1.5rem;
  line-height: 2rem;
}

.report-content h3 {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.report-content h4 {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.report-content p {
  margin-bottom: 1rem;
  line-height: 1.75;
  color: #374151;
}

.report-content ul,
.report-content ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}

.report-content ul {
  list-style-type: disc;
}

.report-content ol {
  list-style-type: decimal;
}

.report-content li {
  margin-bottom: 0.5rem;
  line-height: 1.75;
  color: #374151;
}

.report-content strong {
  font-weight: 600;
  color: #111827;
}

.report-content em {
  font-style: italic;
  color: #4b5563;
}

.report-content code {
  background-color: #f3f4f6;
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  font-family: 'Monaco', 'Courier New', monospace;
  font-size: 0.875em;
  color: #dc2626;
}

.report-content pre {
  background-color: #1f2937;
  color: #f9fafb;
  padding: 1rem;
  border-radius: 0.5rem;
  overflow-x: auto;
  margin-bottom: 1rem;
}

.report-content pre code {
  background-color: transparent;
  padding: 0;
  color: inherit;
}

.report-content a {
  color: #4f46e5;
  text-decoration: underline;
}

.report-content a:hover {
  color: #4338ca;
}

.report-content blockquote {
  border-left: 4px solid #e5e7eb;
  padding-left: 1rem;
  margin-left: 0;
  margin-bottom: 1rem;
  font-style: italic;
  color: #6b7280;
}

.report-content table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1rem;
}

.report-content table th,
.report-content table td {
  padding: 0.75rem;
  border: 1px solid #e5e7eb;
  text-align: left;
}

.report-content table th {
  background-color: #f9fafb;
  font-weight: 600;
  color: #111827;
}

.report-content hr {
  border: none;
  border-top: 1px solid #e5e7eb;
  margin: 2rem 0;
}

/* Markdown content styling within reports - Redcarpet output */
.report-content markdown {
  line-height: 1.75;
  color: #374151;
}

/* Ensure markdown-rendered HTML elements are styled */
.report-content h1,
.report-content h2,
.report-content h3,
.report-content h4,
.report-content h5,
.report-content h6 {
  font-weight: 600;
  color: #111827;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.report-content h1 { font-size: 1.875rem; line-height: 2.25rem; }
.report-content h2 { font-size: 1.5rem; line-height: 2rem; }
.report-content h3 { font-size: 1.25rem; line-height: 1.75rem; }
.report-content h4 { font-size: 1.125rem; line-height: 1.75rem; }

.report-content p {
  margin-bottom: 1rem;
  line-height: 1.75;
  color: #374151;
}

.report-content ul,
.report-content ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
  color: #374151;
}

.report-content ul {
  list-style-type: disc;
}

.report-content ol {
  list-style-type: decimal;
}

.report-content li {
  margin-bottom: 0.5rem;
  line-height: 1.75;
}

.report-content strong,
.report-content b {
  font-weight: 600;
  color: #111827;
}

.report-content em,
.report-content i {
  font-style: italic;
  color: #4b5563;
}

.report-content a {
  color: #4f46e5;
  text-decoration: underline;
}

.report-content a:hover {
  color: #4338ca;
}

.report-content blockquote {
  border-left: 4px solid #e5e7eb;
  padding-left: 1rem;
  margin-left: 0;
  margin-bottom: 1rem;
  font-style: italic;
  color: #6b7280;
}

.report-content table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1rem;
}

.report-content table th,
.report-content table td {
  padding: 0.75rem;
  border: 1px solid #e5e7eb;
  text-align: left;
}

.report-content table th {
  background-color: #f9fafb;
  font-weight: 600;
  color: #111827;
}


/* Rich Text Content Styling for Content Assets - Professional Typography */
/* Override Action Text's default trix-content styles */
.rich-text-content,
.rich-text-content .trix-content {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 1.125rem !important; /* 18px base */
  line-height: 1.8 !important;
  color: #1f2937 !important;
  letter-spacing: -0.01em !important;
  max-width: 65ch !important; /* Optimal reading width */
  margin: 0 auto !important;
}

/* CRITICAL: Override Action Text's universal reset that sets all margins/padding to 0 */
/* Action Text has: .trix-content * { margin: 0; padding: 0; } */
/* We need to override this with explicit values for each element type */
.rich-text-content .trix-content * {
  font-family: inherit !important;
}

/* Removed revert rules - explicit margins/padding are set in specific rules below */

/* CRITICAL: Override Action Text's universal reset - must come before specific rules */
.rich-text-content .trix-content h1,
.rich-text-content .trix-content h2,
.rich-text-content .trix-content h3,
.rich-text-content .trix-content h4,
.rich-text-content .trix-content h5,
.rich-text-content .trix-content h6,
.rich-text-content .trix-content p,
.rich-text-content .trix-content ul,
.rich-text-content .trix-content ol,
.rich-text-content .trix-content li,
.rich-text-content .trix-content blockquote {
  /* Explicitly override Action Text's margin: 0; padding: 0; reset */
  margin: revert-layer !important;
  padding: revert-layer !important;
}

/* Target Action Text's trix-content directly */
.rich-text-content .trix-content h1,
.rich-text-content .trix-content h2,
.rich-text-content .trix-content h3,
.rich-text-content .trix-content h4,
.rich-text-content .trix-content h5,
.rich-text-content .trix-content h6,
.rich-text-content h1,
.rich-text-content h2,
.rich-text-content h3,
.rich-text-content h4,
.rich-text-content h5,
.rich-text-content h6 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 700 !important;
  color: #111827 !important;
  letter-spacing: -0.02em !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
  line-height: 1.3 !important;
}

.rich-text-content h1,
.rich-text-content h2,
.rich-text-content h3,
.rich-text-content h4,
.rich-text-content h5,
.rich-text-content h6 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 700 !important;
  color: #111827 !important;
  letter-spacing: -0.02em !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
  line-height: 1.3 !important;
}

.rich-text-content .trix-content h1,
.rich-text-content h1 {
  font-size: 2.5rem !important; /* 40px */
  line-height: 1.2 !important;
  margin-top: 0 !important;
  margin-bottom: 1.5rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
}

.rich-text-content .trix-content h2,
.rich-text-content h2 {
  font-size: 2rem !important; /* 32px */
  line-height: 1.3 !important;
  margin-top: 3rem !important;
  margin-bottom: 1.25rem !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0.5rem !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  font-weight: 700 !important;
  border-bottom: 1px solid #e5e7eb !important;
}

.rich-text-content .trix-content h3,
.rich-text-content h3 {
  font-size: 1.5rem !important; /* 24px */
  line-height: 1.4 !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  font-weight: 600 !important;
}

.rich-text-content .trix-content h4,
.rich-text-content h4 {
  font-size: 1.25rem !important; /* 20px */
  line-height: 1.5 !important;
  margin-top: 2rem !important;
  margin-bottom: 0.75rem !important;
  font-weight: 600 !important;
}

.rich-text-content .trix-content p,
.rich-text-content p {
  margin-top: 0 !important;
  margin-bottom: 1.5rem !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  line-height: 1.8 !important;
  color: #374151 !important;
  font-size: 1.125rem !important;
  letter-spacing: -0.01em !important;
}

.rich-text-content .trix-content ul,
.rich-text-content .trix-content ol,
.rich-text-content ul,
.rich-text-content ol {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 2rem !important;
  padding-right: 0 !important;
  color: #374151 !important;
}

.rich-text-content .trix-content ul,
.rich-text-content ul {
  list-style-type: disc !important;
}

.rich-text-content .trix-content ol,
.rich-text-content ol {
  list-style-type: decimal !important;
}

.rich-text-content .trix-content li,
.rich-text-content li {
  margin-bottom: 0.75rem !important;
  line-height: 1.8 !important;
  font-size: 1.125rem !important;
  padding-left: 0.5rem !important;
}

.rich-text-content .trix-content li::marker,
.rich-text-content li::marker {
  color: #6b7280 !important;
}

.rich-text-content .trix-content strong,
.rich-text-content .trix-content b,
.rich-text-content strong,
.rich-text-content b {
  font-weight: 700 !important;
  color: #111827 !important;
  letter-spacing: -0.01em !important;
}

.rich-text-content .trix-content em,
.rich-text-content .trix-content i,
.rich-text-content em,
.rich-text-content i {
  font-style: italic !important;
  color: #4b5563 !important;
}

.rich-text-content .trix-content a,
.rich-text-content a {
  color: #2563eb !important;
  text-decoration: none !important;
  border-bottom: 1px solid #93c5fd !important;
  transition: all 0.2s ease !important;
  font-weight: 500 !important;
}

.rich-text-content .trix-content a:hover,
.rich-text-content a:hover {
  color: #1d4ed8 !important;
  border-bottom-color: #1d4ed8 !important;
}

/* Blockquote styling - already defined above, removing duplicate */

.rich-text-content .trix-content code,
.rich-text-content code {
  background-color: #f3f4f6 !important;
  padding: 0.125rem 0.375rem !important;
  border-radius: 0.25rem !important;
  font-family: 'Monaco', 'Courier New', monospace !important;
  font-size: 0.875em !important;
  color: #dc2626 !important;
}

.rich-text-content .trix-content pre,
.rich-text-content pre {
  background-color: #1f2937 !important;
  color: #f9fafb !important;
  padding: 1rem !important;
  border-radius: 0.5rem !important;
  overflow-x: auto !important;
  margin-bottom: 1.25rem !important;
}

.rich-text-content .trix-content pre code,
.rich-text-content pre code {
  background-color: transparent !important;
  padding: 0 !important;
  color: inherit !important;
}

.rich-text-content .trix-content hr,
.rich-text-content hr {
  border: none !important;
  border-top: 2px solid #e5e7eb !important;
  margin: 3rem 0 !important;
  max-width: 100px !important;
  margin-left: 0 !important;
}

.rich-text-content img {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
  margin: 1.5rem 0;
}

.rich-text-content table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.25rem;
}

.rich-text-content table th,
.rich-text-content table td {
  padding: 0.75rem;
  border: 1px solid #e5e7eb;
  text-align: left;
}

.rich-text-content table th {
  background-color: #f9fafb;
  font-weight: 600;
  color: #111827;
}

/* Prose class enhancements for better spacing */
.prose.rich-text-content {
  max-width: none;
}

.prose.rich-text-content > *:first-child {
  margin-top: 0;
}

.prose.rich-text-content > *:last-child {
  margin-bottom: 0;
}

/* Ensure rich text content in prose containers has proper styling */
.prose .rich-text-content {
  max-width: 65ch;
}

/* Ensure prose classes work with Action Text's trix-content wrapper */
.prose .trix-content h1,
.prose .trix-content h2,
.prose .trix-content h3,
.prose .trix-content h4,
.prose .trix-content h5,
.prose .trix-content h6 {
  font-weight: 600;
  line-height: 1.25;
  margin-top: 2em;
  margin-bottom: 1em;
}

.prose .trix-content h1 {
  font-size: 2.25em;
  font-weight: 700;
  margin-top: 2em;
  margin-bottom: 1em;
}

.prose .trix-content h2 {
  font-size: 1.5em;
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.75em;
}

.prose .trix-content h3 {
  font-size: 1.25em;
  font-weight: 600;
  margin-top: 1em;
  margin-bottom: 0.5em;
}

.prose .trix-content p {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  color: #374151;
  line-height: 1.75;
}

.prose .trix-content strong {
  font-weight: 700;
  color: #111827;
}

/* First paragraph styling - removed font-size override to match body paragraphs */
.rich-text-content .trix-content > p:first-of-type,
.rich-text-content > p:first-of-type {
  /* font-size: 1.25rem !important; - Removed: first paragraph should match body paragraphs */
  line-height: 1.75 !important;
  color: #4b5563 !important;
  margin-bottom: 2rem !important;
}

/* Better spacing between sections */
.rich-text-content .trix-content h2 + p,
.rich-text-content .trix-content h3 + p,
.rich-text-content h2 + p,
.rich-text-content h3 + p {
  margin-top: 0.5rem !important;
}

/* Override Action Text's default reset styles - only box-sizing */
.rich-text-content .trix-content * {
  box-sizing: border-box !important;
}
/* Note: Margins and padding are set by the specific element rules above */

/* Feedback Widget Dialog Styling */
dialog.feedback-dialog,
dialog[data-feedback-widget-target="dialog"] {
  margin: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 90vw;
  max-height: 90vh;
  width: 100%;
  max-width: 500px;
  padding: 0;
  border: 1px solid #e5e7eb;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

dialog.feedback-dialog::backdrop,
dialog[data-feedback-widget-target="dialog"]::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
}

/* Ensure dialog content has proper spacing */
dialog.feedback-dialog .p-6,
dialog[data-feedback-widget-target="dialog"] .p-6 {
  padding: 1.5rem;
}

/* Mobile responsiveness */
@media (max-width: 640px) {
  dialog.feedback-dialog,
  dialog[data-feedback-widget-target="dialog"] {
    max-width: 95vw;
    margin: 1rem;
  }
  
  dialog.feedback-dialog .p-6,
  dialog[data-feedback-widget-target="dialog"] .p-6 {
    padding: 1.25rem;
  }
}

/* Grid layout fix - Tailwind v4 not generating lg:grid-cols-3 and lg:col-span-* locally */
/* Target the grid container and children directly */
.grid.grid-cols-1 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 1024px) {
  .grid.grid-cols-1[class*="lg:grid-cols-3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  
  .grid > [class*="lg:col-span-2"] {
    grid-column: span 2 / span 2;
  }
  
  .grid > [class*="lg:col-span-1"] {
    grid-column: span 1 / span 1;
  }
}

/* Carbon-style SERIS reskin */
:root {
  --seris-font-sans: "IBM Plex Sans", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --seris-font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  --seris-bg: #f4f4f4;
  --seris-bg-subtle: #ffffff;
  --seris-bg-alt: #e8edf3;
  --seris-surface: rgba(255, 255, 255, 0.86);
  --seris-surface-strong: #ffffff;
  --seris-text: #161616;
  --seris-text-muted: #525252;
  --seris-text-subtle: #6f6f6f;
  --seris-border: rgba(22, 22, 22, 0.14);
  --seris-border-strong: rgba(22, 22, 22, 0.22);
  --seris-accent: #0f62fe;
  --seris-accent-strong: #0043ce;
  --seris-accent-soft: rgba(15, 98, 254, 0.08);
  --seris-success: #24a148;
  --seris-warning: #f1c21b;
  --seris-danger: #da1e28;
  --seris-focus: #0f62fe;
  --seris-grid: rgba(22, 22, 22, 0.05);
  --seris-shadow-none: none;
}

html,
body {
  min-height: 100%;
  font-family: var(--seris-font-sans);
  color: var(--seris-text);
  background: var(--seris-bg);
}

body.seris-shell,
body.seris-app,
body.h-full {
  background:
    radial-gradient(circle at 0 0, rgba(15, 98, 254, 0.08), transparent 24%),
    radial-gradient(circle at 100% 0, rgba(36, 161, 72, 0.05), transparent 18%),
    linear-gradient(180deg, #f7f8fa 0%, #edf1f5 100%);
  color: var(--seris-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.seris-shell::before,
body.seris-app::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(90deg, transparent 0 calc(100% - 1px), var(--seris-grid) calc(100% - 1px)),
    linear-gradient(transparent 0 calc(100% - 1px), var(--seris-grid) calc(100% - 1px));
  background-size: 64px 64px;
  mask-image: linear-gradient(rgba(0, 0, 0, 0.14) 0%, transparent 48%);
  z-index: -1;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--seris-text);
  letter-spacing: -0.035em;
}

code,
pre,
kbd,
samp {
  font-family: var(--seris-font-mono);
}

button,
input,
select,
textarea,
dialog,
.rounded,
.rounded-sm,
.rounded-md,
.rounded-lg,
.rounded-xl,
.rounded-2xl,
.rounded-3xl,
.rounded-full,
.sm\:rounded-md,
.sm\:rounded-lg,
.sm\:rounded-xl,
.md\:rounded-lg,
.lg\:rounded-lg {
  border-radius: 0 !important;
}

.shadow-seris,
.shadow-seris-lg,
.shadow,
.shadow-sm,
.shadow-lg,
.shadow-xl,
.shadow-2xl {
  box-shadow: none !important;
}

.bg-seris-gray-50 { background-color: #f4f4f4 !important; }
.bg-seris-gray-100 { background-color: #e0e0e0 !important; }
.bg-seris-gray-200 { background-color: #c6c6c6 !important; }
.bg-seris-gray-300 { background-color: #a8a8a8 !important; }
.bg-seris-gray-400 { background-color: #8d8d8d !important; }
.bg-seris-gray-500 { background-color: #6f6f6f !important; }
.bg-seris-gray-600 { background-color: #525252 !important; }
.bg-seris-gray-700 { background-color: #393939 !important; }
.bg-seris-gray-800 { background-color: #262626 !important; }
.bg-seris-gray-900 { background-color: #161616 !important; }

.text-seris-gray-50 { color: #f4f4f4 !important; }
.text-seris-gray-100 { color: #e0e0e0 !important; }
.text-seris-gray-200 { color: #c6c6c6 !important; }
.text-seris-gray-300 { color: #a8a8a8 !important; }
.text-seris-gray-400 { color: #8d8d8d !important; }
.text-seris-gray-500 { color: #6f6f6f !important; }
.text-seris-gray-600 { color: #525252 !important; }
.text-seris-gray-700 { color: #393939 !important; }
.text-seris-gray-800 { color: #262626 !important; }
.text-seris-gray-900 { color: #161616 !important; }

.border-seris-gray-50 { border-color: #f4f4f4 !important; }
.border-seris-gray-100 { border-color: #e0e0e0 !important; }
.border-seris-gray-200 { border-color: #c6c6c6 !important; }
.border-seris-gray-300 { border-color: #a8a8a8 !important; }
.border-seris-gray-400 { border-color: #8d8d8d !important; }
.border-seris-gray-500 { border-color: #6f6f6f !important; }
.border-seris-gray-600 { border-color: #525252 !important; }
.border-seris-gray-700 { border-color: #393939 !important; }
.border-seris-gray-800 { border-color: #262626 !important; }
.border-seris-gray-900 { border-color: #161616 !important; }

.bg-primary-50 { background-color: #edf5ff !important; }
.bg-primary-100 { background-color: #d0e2ff !important; }
.bg-primary-200 { background-color: #a6c8ff !important; }
.bg-primary-300 { background-color: #78a9ff !important; }
.bg-primary-400 { background-color: #4589ff !important; }
.bg-primary-500 { background-color: #0f62fe !important; }
.bg-primary-600 { background-color: #0353e9 !important; }
.bg-primary-700 { background-color: #0043ce !important; }
.bg-primary-800 { background-color: #002d9c !important; }
.bg-primary-900 { background-color: #001d6c !important; }
.bg-primary-950 { background-color: #001141 !important; }

.text-primary-50 { color: #edf5ff !important; }
.text-primary-100 { color: #d0e2ff !important; }
.text-primary-200 { color: #a6c8ff !important; }
.text-primary-300 { color: #78a9ff !important; }
.text-primary-400 { color: #4589ff !important; }
.text-primary-500 { color: #0f62fe !important; }
.text-primary-600 { color: #0353e9 !important; }
.text-primary-700 { color: #0043ce !important; }
.text-primary-800 { color: #002d9c !important; }
.text-primary-900 { color: #001d6c !important; }
.text-primary-950 { color: #001141 !important; }

.border-primary-50 { border-color: #edf5ff !important; }
.border-primary-100 { border-color: #d0e2ff !important; }
.border-primary-200 { border-color: #a6c8ff !important; }
.border-primary-300 { border-color: #78a9ff !important; }
.border-primary-400 { border-color: #4589ff !important; }
.border-primary-500 { border-color: #0f62fe !important; }
.border-primary-600 { border-color: #0353e9 !important; }
.border-primary-700 { border-color: #0043ce !important; }
.border-primary-800 { border-color: #002d9c !important; }
.border-primary-900 { border-color: #001d6c !important; }
.border-primary-950 { border-color: #001141 !important; }

.hover\:bg-primary-50:hover { background-color: #edf5ff !important; }
.hover\:bg-primary-100:hover { background-color: #d0e2ff !important; }
.hover\:bg-primary-200:hover { background-color: #a6c8ff !important; }
.hover\:bg-primary-300:hover { background-color: #78a9ff !important; }
.hover\:bg-primary-400:hover { background-color: #4589ff !important; }
.hover\:bg-primary-500:hover { background-color: #0f62fe !important; }
.hover\:bg-primary-600:hover { background-color: #0353e9 !important; }
.hover\:bg-primary-700:hover { background-color: #0043ce !important; }
.hover\:bg-primary-800:hover { background-color: #002d9c !important; }
.hover\:bg-primary-900:hover { background-color: #001d6c !important; }
.hover\:bg-primary-950:hover { background-color: #001141 !important; }

.hover\:text-primary-500:hover,
.hover\:text-primary-600:hover,
.hover\:text-primary-700:hover,
.hover\:text-indigo-500:hover,
.hover\:text-indigo-600:hover {
  color: var(--seris-accent-strong) !important;
}

.focus\:ring-primary-500:focus,
.focus\:ring-primary-600:focus,
.focus\:ring-blue-500:focus,
.focus\:ring-blue-600:focus,
.focus\:ring-indigo-500:focus {
  --tw-ring-color: rgba(15, 98, 254, 0.28) !important;
}

.focus\:border-primary-500:focus,
.focus\:border-primary-600:focus,
.focus\:border-blue-500:focus,
.focus\:border-indigo-500:focus {
  border-color: var(--seris-focus) !important;
}

nav.bg-white,
.seris-topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255, 255, 255, 0.92) !important;
  border-bottom: 1px solid var(--seris-border) !important;
  box-shadow: none !important;
  backdrop-filter: blur(12px);
}

.seris-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
  color: inherit;
  text-decoration: none;
}

.seris-brandmark {
  display: inline-flex;
  height: 2.5rem;
  width: 2.5rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: #161616 !important;
  box-shadow: none !important;
}

.seris-brandmark img {
  height: 1.35rem !important;
  width: 1.35rem !important;
  object-fit: contain;
}

.seris-brandtext {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
}

.seris-brandname {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.03em;
}

.seris-brandmeta,
.seris-eyebrow {
  font-family: var(--seris-font-mono);
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--seris-text-subtle);
}

.seris-main {
  min-height: calc(100vh - 4rem);
}

.seris-page-shell {
  width: min(100%, 88rem);
  margin: 0 auto;
  padding: 2rem 1.5rem 4rem;
}

.bg-white.rounded-lg.border,
.bg-white.rounded-lg.shadow-seris.border,
.bg-white.rounded-lg.shadow-seris,
.bg-white.rounded-md.border,
.bg-white.rounded-md.shadow-seris,
details.bg-white.rounded-lg.border,
.theme-card,
.data-table,
.table-responsive,
.card-layout > .card-item > *,
.feedback-dialog,
.seris-panel,
.seris-section-card,
.seris-auth-panel,
.seris-stat-card,
.seris-app-tile,
.seris-hero-panel {
  border: 1px solid var(--seris-border) !important;
  background: var(--seris-surface) !important;
  box-shadow: none !important;
}

.card-layout {
  display: grid;
  gap: 1.25rem;
}

.table-responsive,
.data-table {
  overflow: hidden;
}

.table,
.data-table table,
.report-content table {
  width: 100%;
  border-collapse: collapse;
}

.table thead,
.data-table thead,
.report-content table thead {
  background: rgba(22, 22, 22, 0.03);
}

.table th,
.table td,
.data-table th,
.data-table td,
.report-content table th,
.report-content table td {
  padding: 0.875rem 1rem;
  border-top: 1px solid var(--seris-border);
  text-align: left;
}

.table th,
.data-table th,
.report-content table th {
  font-family: var(--seris-font-mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--seris-text-subtle);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]),
select,
textarea,
trix-editor,
.theme-input,
.seris-input {
  width: 100%;
  border: 1px solid var(--seris-border-strong) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: var(--seris-text) !important;
  box-shadow: none !important;
  padding: 0.85rem 1rem !important;
  font-family: var(--seris-font-sans);
}

input::placeholder,
textarea::placeholder,
.theme-input::placeholder,
.seris-input::placeholder {
  color: var(--seris-text-subtle) !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]):focus,
select:focus,
textarea:focus,
trix-editor:focus,
.theme-input:focus,
.seris-input:focus {
  outline: 2px solid rgba(15, 98, 254, 0.18) !important;
  outline-offset: 1px;
  border-color: var(--seris-focus) !important;
}

button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.btn,
.seris-button,
a[class*="bg-primary-"],
a[class*="bg-blue-600"],
a[class*="inline-flex items-center"][style*="linear-gradient"],
button[style*="linear-gradient"],
.dialog-button,
.modal-close,
.seris-floating-trigger {
  border-radius: 0 !important;
}

.seris-button,
.btn,
input[type="submit"],
button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--seris-border-strong);
  background: #ffffff;
  color: var(--seris-text);
  font-weight: 500;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.seris-button:hover,
.btn:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  border-color: var(--seris-text);
  background: rgba(255, 255, 255, 0.98);
}

.seris-button--primary,
.btn-primary,
a.bg-primary-500,
a.bg-blue-600,
button.bg-primary-500,
button.bg-blue-600,
input[type="submit"][class*="bg-primary"],
input[type="submit"][class*="bg-blue-600"],
[style*="linear-gradient(90deg, #0466c8"],
[style*="linear-gradient(135deg, #0466c8"] {
  background: var(--seris-accent-strong) !important;
  border-color: var(--seris-accent-strong) !important;
  color: #ffffff !important;
}

.seris-button--primary:hover,
.btn-primary:hover,
a.bg-primary-500:hover,
a.bg-blue-600:hover,
button.bg-primary-500:hover,
button.bg-blue-600:hover,
[style*="linear-gradient(90deg, #0466c8"]:hover,
[style*="linear-gradient(135deg, #0466c8"]:hover {
  background: #002d9c !important;
  border-color: #002d9c !important;
}

.seris-button--secondary,
.btn-secondary {
  background: #ffffff !important;
  color: var(--seris-text) !important;
  border-color: var(--seris-border-strong) !important;
}

.seris-link,
a.text-indigo-600,
a.text-primary-600,
.theme-link {
  color: var(--seris-accent-strong) !important;
}

.seris-link:hover,
a.text-indigo-600:hover,
a.text-primary-600:hover,
.theme-link:hover {
  color: #002d9c !important;
}

#flash-alert,
#flash-notice,
[id^="persistent-notification-"] {
  margin: 0 auto 1rem;
  width: min(100%, 88rem);
  border-left-width: 4px !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.92) !important;
}

dialog,
dialog.feedback-dialog,
dialog[data-feedback-widget-target="dialog"] {
  border: 1px solid var(--seris-border-strong) !important;
  background: var(--seris-surface-strong) !important;
  color: var(--seris-text) !important;
  box-shadow: none !important;
}

dialog::backdrop,
dialog.feedback-dialog::backdrop,
dialog[data-feedback-widget-target="dialog"]::backdrop {
  background: rgba(22, 22, 22, 0.42);
  backdrop-filter: blur(2px);
}

dialog .dialog-content {
  background: var(--seris-surface-strong);
}

dialog .dialog-header,
dialog .dialog-footer {
  border-color: var(--seris-border);
}

dialog .dialog-title,
.modal-title {
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--seris-text);
}

dialog .dialog-close,
.modal-close {
  color: var(--seris-text-subtle);
}

dialog .dialog-button--secondary {
  background: #ffffff;
  color: var(--seris-text);
  border-color: var(--seris-border-strong);
}

dialog .dialog-button--primary,
dialog .dialog-button--danger {
  background: var(--seris-accent-strong);
  border-color: var(--seris-accent-strong);
  color: #ffffff;
}

.seris-auth-shell {
  display: flex;
  min-height: calc(100vh - 8rem);
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem 4rem;
}

.seris-auth-panel {
  width: min(100%, 34rem);
  padding: 2rem;
}

.seris-auth-header {
  display: grid;
  gap: 1rem;
  justify-items: start;
  text-align: left;
}

.seris-auth-mark {
  display: inline-flex;
  height: 3rem;
  width: 3rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--seris-border-strong);
  background: rgba(15, 98, 254, 0.08);
  color: var(--seris-accent-strong);
}

.seris-auth-title {
  font-size: clamp(2rem, 4vw, 2.6rem);
  line-height: 0.96;
  font-weight: 600;
  letter-spacing: -0.05em;
}

.seris-auth-copy,
.seris-copy {
  color: var(--seris-text-muted);
  line-height: 1.65;
}

.seris-form-stack,
.seris-stack {
  display: grid;
  gap: 1.25rem;
}

.seris-field {
  display: grid;
  gap: 0.5rem;
}

.seris-field--split {
  display: grid;
  gap: 1rem;
}

.seris-field label,
.seris-label {
  font-family: var(--seris-font-mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--seris-text-subtle);
}

.seris-field-note {
  font-size: 0.875rem;
  color: var(--seris-text-subtle);
}

.seris-search-input {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.seris-search-input:focus {
  outline: none !important;
  border-color: transparent !important;
}

.seris-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.seris-note-list {
  display: grid;
  gap: 0.75rem;
}

.seris-note-list li {
  margin-left: 1.25rem;
  list-style: square;
}

.seris-hero-panel {
  padding: 2rem;
}

.seris-launch-stage {
  width: min(80vw, 84rem);
  margin-inline: auto;
}

.seris-search-band {
  width: 100%;
}

.seris-search-form {
  display: flex;
  width: 100%;
  align-items: stretch;
}

.seris-grid-links--compact {
  gap: 0.875rem;
}

.seris-app-tile--compact {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.875rem;
  padding: 0.9rem 1rem;
  min-height: 0;
}

.seris-app-tile__body {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.seris-icon-tile--compact {
  height: 2.5rem;
  width: 2.5rem;
  flex-shrink: 0;
}

.seris-grid-links,
.seris-stat-grid,
.seris-section-grid {
  display: grid;
  gap: 1.25rem;
}

.seris-app-tile,
.seris-stat-card,
.seris-section-card {
  display: grid;
  gap: 0.9rem;
  padding: 1.25rem;
}

.seris-app-tile:hover,
.seris-stat-card:hover,
.seris-section-card:hover {
  border-color: var(--seris-border-strong) !important;
  background: rgba(255, 255, 255, 0.94) !important;
}

.seris-icon-tile {
  display: inline-flex;
  height: 3rem;
  width: 3rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--seris-border-strong);
  background: rgba(15, 98, 254, 0.08);
  color: var(--seris-accent-strong);
}

.seris-kpi {
  display: grid;
  gap: 0.35rem;
}

.seris-kpi__value {
  font-size: 2rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: -0.04em;
}

.seris-kpi__label {
  font-family: var(--seris-font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--seris-text-subtle);
}

.seris-floating-trigger {
  display: inline-flex;
  height: 3.5rem;
  width: 3.5rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--seris-border-strong);
  background: var(--seris-accent-strong) !important;
  color: #ffffff;
  box-shadow: none !important;
}

.seris-status-panel {
  border: 1px solid var(--seris-border);
  background: rgba(255, 255, 255, 0.9);
  padding: 1rem;
}

.seris-status-panel--info {
  border-color: rgba(15, 98, 254, 0.22);
  background: rgba(208, 226, 255, 0.35);
}

.seris-status-panel--success {
  border-color: rgba(36, 161, 72, 0.22);
  background: rgba(222, 251, 230, 0.55);
}

.seris-status-panel--danger {
  border-color: rgba(218, 30, 40, 0.22);
  background: rgba(255, 226, 229, 0.72);
}

.rich-text-content,
.rich-text-content .trix-content {
  font-family: var(--seris-font-sans) !important;
  color: var(--seris-text) !important;
}

.rich-text-content .trix-content code,
.rich-text-content code,
.report-content code {
  border-radius: 0 !important;
  background: rgba(22, 22, 22, 0.06) !important;
  color: var(--seris-accent-strong) !important;
  font-family: var(--seris-font-mono) !important;
}

.rich-text-content .trix-content pre,
.rich-text-content pre,
.report-content pre {
  border-radius: 0 !important;
  background: #161616 !important;
  color: #f4f4f4 !important;
}

@media (min-width: 640px) {
  .seris-field--split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .seris-grid-links {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .seris-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .seris-section-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
