/* CSS is working! Using direct Sphinx build (bypassing S3 override script) */

html * {
    font-family: "Twemoji Country Flags", system-ui, -apple-system, "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif !important;
}

/* Code examples should use Courier New - HIGHEST PRIORITY */
.highlight pre,
.highlight code,
pre,
code,
.literal,
.code-block,
div.highlight,
.rst-content .highlight pre,
.rst-content code,
.rst-content pre,
div[class*="highlight"] pre,
div[class*="highlight"] code {
    font-family: "Courier New", Courier, monospace !important;
}

/* Inline code */
code.literal,
.rst-content code.literal {
    font-family: "Courier New", Courier, monospace !important;
}

body {
    font-size: 16px;
    color: #333;
    line-height: 1.6;
}

/* Enhanced Typography System - Prettier & More Consistent Headers */

/* Global header improvements */
h1, h2, h3, h4, h5, h6 {
    font-family: "Twemoji Country Flags", system-ui, -apple-system, "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    color: #1a202c !important;
    margin-top: 2rem !important;
    margin-bottom: 1rem !important;
    line-height: 1.25 !important;
}

/* Main page title - Elegant & prominent */
html body div.document div.documentwrapper div.bodywrapper div.body .section:first-child h1:first-child,
html body .document .documentwrapper .bodywrapper .body .section:first-child h1:first-child,
html .document .body .section:first-child h1:first-child,
body .rst-content .section:first-child h1:first-child,
.rst-content .section:first-child h1:first-child {
    font-size: 2.25rem !important; /* 36px - Clear hierarchy leader */
    font-weight: 800 !important;
    color: #2d3748 !important;
    margin-top: 1rem !important;
    margin-bottom: 1.5rem !important;
    line-height: 1.2 !important;
    letter-spacing: -0.05em !important;
    border-bottom: 3px solid #3182ce !important;
    padding-bottom: 0.75rem !important;
}

/* Top-level section headers - Clear secondary hierarchy */
html body div.document div.documentwrapper div.bodywrapper div.body > .section > h2,
html body .document .documentwrapper .bodywrapper .body > .section > h2,
html .document .body > .section > h2,
body .rst-content > .section > h2,
.rst-content > .section > h2 {
    font-size: 1.5rem !important; /* 24px - Clear step down from main title */
    font-weight: 700 !important;
    color: #2d3748 !important;
    margin-top: 2.5rem !important;
    margin-bottom: 1rem !important;
    line-height: 1.3 !important;
    letter-spacing: -0.025em !important;
    position: relative !important;
}

/* Add subtle accent to section headers */
html body div.document div.documentwrapper div.bodywrapper div.body > .section > h2::before,
html body .document .documentwrapper .bodywrapper .body > .section > h2::before,
html .document .body > .section > h2::before,
body .rst-content > .section > h2::before,
.rst-content > .section > h2::before {
    content: "" !important;
    display: block !important;
    width: 2rem !important;
    height: 3px !important;
    background: #3182ce !important;
    margin-bottom: 0.5rem !important;
    border-radius: 2px !important;
}

/* Subsection headers - Clean tertiary level */
h3 {
    font-size: 1.25rem !important; /* 20px - Proportional step down */
    font-weight: 600 !important;
    color: #4a5568 !important;
    margin-top: 2rem !important;
    margin-bottom: 0.75rem !important;
}

/* Fourth level headers */
h4 {
    font-size: 1.125rem !important; /* 18px */
    font-weight: 600 !important;
    color: #4a5568 !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0.5rem !important;
}

/* Fifth and sixth level headers */
h5, h6 {
    font-size: 1rem !important; /* 16px */
    font-weight: 600 !important;
    color: #718096 !important;
    margin-top: 1.25rem !important;
    margin-bottom: 0.5rem !important;
}

/* Fix vertical alignment between sidebar and main content - add space above blue line */
.document {
    margin-top: 20px !important;  /* Add space above content to separate from blue line */
    padding-top: 0 !important;
}

.documentwrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.bodywrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.sphinxsidebar {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

p {
    margin-bottom: 1em;
}

/* Give the items in documentation a little more breathing room */
dl {
    margin-bottom: 1.5em;
}

/* Put "Parameters:" above parameters so it doesn't get squished when there is lots of content */
dl.field-list {
    display: block;
}

/* Style parameter sections but preserve their structure */
dl.field-list > dt {
    font-weight: 600;
    margin-top: 1em;
}

dl.field-list > dd {
    margin-left: 2em;
}

/* Style the overall parameter container */
dl.field-list {
    padding: 1em;
    background-color: #f8f8ff;
    border-radius: 4px;
    margin-top: 1em;
    margin-bottom: 1.5em;
    border-left: 3px solid #dde4ee;
}

a {
    color: #2c76cc;
}

a:hover {
    color: #0272d9
}

.container {
    height: 10%;
    border-bottom: 2px solid lightblue;
}

.flexBox {
    display: flex;
    flex-direction: row;
    align-content: center;
}

.headerChild {
    margin: auto 10px;
}

.benchlingLogo {
    height: 40px;
    width: 40px;
}

.contentWrapper {
    margin: 40px auto;
    width: 90%;
    max-width: 1300px;
}

/* Improved layout */
.bodywrapper {
    max-width: 1100px;
    margin: 0 auto;
}

.body {
    line-height: 1.6;
}

.section {
    margin-bottom: 2.5em;
}

/* Format parameter blocks as we would with `black` to improve readability */
em.sig-param::before {
    content: "\a    ";
    white-space: pre;
}

span.sig-return::before {
    content: "\a";
    white-space: pre;
}

/* Method documentation styling */
dl.py.method {
    margin-bottom: 2em;
    padding: 1em;
    background: #f8f8f8;
    border-left: 4px solid #2c76cc;
    border-radius: 4px;
}

.sig-name {
    font-weight: 600;
}

/* Enhanced Code Block Styling */
pre, code {
    font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace !important;
    font-size: 0.9em;
    line-height: 1.5;
}

/* Inline code */
code {
    background-color: #f1f3f4;
    color: #d73a49;
    padding: 0.2em 0.4em;
    border-radius: 3px;
    font-weight: 500;
}

/* Code blocks */
pre {
    background-color: #f8f9fa !important;
    border: 1px solid #e1e4e8;
    border-radius: 8px;
    padding: 1.2em;
    margin: 1.5em 0;
    overflow-x: auto;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    position: relative;
}

/* Code block containers */
.highlight {
    border-radius: 8px;
    margin: 1.5em 0;
    background-color: #f8f9fa;
    border: 1px solid #e1e4e8;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.highlight pre {
    background-color: transparent !important;
    border: none;
    margin: 0;
    box-shadow: none;
}

/* Syntax highlighting improvements */
.highlight .n { color: #24292e; } /* Names */
.highlight .s { color: #032f62; } /* Strings */
.highlight .k { color: #d73a49; font-weight: 600; } /* Keywords */
.highlight .kn { color: #d73a49; font-weight: 600; } /* Keyword namespace */
.highlight .nb { color: #005cc5; } /* Builtin names */
.highlight .c1 { color: #6a737d; font-style: italic; } /* Comments */
.highlight .o { color: #d73a49; } /* Operators */

/* Better docstring code examples */
.docutils.literal-block-wrapper {
    margin: 1.5em 0;
}

.literal-block-wrapper .code-block-caption {
    background-color: #f1f3f4;
    padding: 0.5em 1em;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    border-bottom: 1px solid #e1e4e8;
    font-weight: 600;
    color: #586069;
    font-size: 0.85em;
}

/* Search styling */
.searchformwrapper {
    margin-bottom: 1em;
}

#searchbox input[type="text"] {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

/* Class documentation */
dl.py.class {
    border: 1px solid #e1e4e8;
    padding: 1em;
    border-radius: 4px;
    margin-bottom: 2em;
}

/* Body wrapper adjustments - align with header content */
.bodywrapper {
    margin: 0 0 0 60px !important;  /* Reduced margin to align with header */
    width: auto !important;
}

/* Move sidebar to the left to align under "Warehouse and API Guide" */
.sphinxsidebar {
    position: relative !important;
    left: -250px !important;  /* Move sidebar further left to align with header menu */
    top: -5px !important;     /* Move sidebar down slightly to better align with title */
}

/* Body content improvements */
.body {
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Ensure content scales well on larger screens */
@media (min-width: 1200px) {
    .documentwrapper {
        max-width: 1200px;
        padding: 0 4em !important;
    }
}

/* ===== DOCSTRING SECTION STYLING ===== */

/* Fix "See Also" section styling - make it much smaller */
p.rubric {
    font-size: 0.75em !important;
    font-weight: 500 !important;
    color: #6a737d !important;
    margin-top: 1em !important;
    margin-bottom: 0.3em !important;
    border-bottom: 1px solid #eaecef !important;
    padding-bottom: 0.2em !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
}

/* Ensure consistent styling for all docstring sections */
dt.field-odd, dt.field-even {
    font-size: 1.1em !important;
    font-weight: 600 !important;
    color: #24292e !important;
    margin-top: 1.2em !important;
    margin-bottom: 0.4em !important;
}

/* Fix text overflow issues for parameter descriptions and long type names */
dd.field-odd, dd.field-even {
    word-wrap: break-word !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    max-width: 100% !important;
}

/* Specifically handle long type names in parameters */
dd.field-odd p, dd.field-even p {
    word-wrap: break-word !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* Handle long model names and type annotations */
dd.field-odd em, dd.field-even em {
    word-wrap: break-word !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    display: inline !important;
}

/* Ensure method signatures don't overflow */
.sig {
    word-wrap: break-word !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
}

/* Fix any remaining overflow in documentation content */
.py.method dd, .py.function dd, .py.class dd {
    max-width: 100% !important;
    overflow: hidden !important;
}

/* ===== CUSTOM SERVICES SIDEBAR STYLING ===== */

.services-navigation {
    padding: 1em 0 !important;
}

.services-navigation h3 {
    font-size: 1.2em !important;
    font-weight: 700 !important;
    color: #24292e !important;
    margin: 0 0 1em 0 !important;
    padding-bottom: 0.5em !important;
    border-bottom: 2px solid #0366d6 !important;
}

.service-group {
    margin-bottom: 1.5em !important;
}

.service-group h4 {
    font-size: 0.9em !important;
    font-weight: 600 !important;
    color: #586069 !important;
    margin: 0 0 0.5em 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.service-group ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.service-group li {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

.service-group li a {
    display: block !important;
    padding: 0.3em 0.5em !important;
    color: #0366d6 !important;
    text-decoration: none !important;
    font-size: 0.85em !important;
    border-radius: 3px !important;
    transition: background-color 0.2s ease !important;
}

.service-group li a:hover {
    background-color: #f1f3f4 !important;
    color: #0366d6 !important;
    text-decoration: none !important;
}

.service-group li a:visited {
    color: #0366d6 !important;
}

/* Beta and Alpha service styling */
.beta-services h4 {
    color: #f39c12 !important;
    border-left: 3px solid #f39c12 !important;
    padding-left: 0.5em !important;
}

.alpha-services h4 {
    color: #e74c3c !important;
    border-left: 3px solid #e74c3c !important;
    padding-left: 0.5em !important;
}

.api-status {
    font-size: 0.7em !important;
    font-weight: 400 !important;
    background-color: rgba(255, 255, 255, 0.2) !important;
    padding: 0.2em 0.4em !important;
    border-radius: 3px !important;
    margin-left: 0.5em !important;
}

.beta-services li a {
    border-left: 2px solid transparent !important;
    transition: all 0.2s ease !important;
}

.beta-services li a:hover {
    background-color: #fdf2e3 !important;
    border-left: 2px solid #f39c12 !important;
}

.alpha-services li a {
    border-left: 2px solid transparent !important;
    transition: all 0.2s ease !important;
}

.alpha-services li a:hover {
    background-color: #fdeaea !important;
    border-left: 2px solid #e74c3c !important;
}

/* Style the content under sections like "See Also" */
.rubric + p {
    margin-top: 0.5em !important;
}

.rubric + p a {
    color: #0366d6 !important;
    text-decoration: none !important;
    font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace !important;
    font-size: 0.9em !important;
    background-color: #f6f8fa !important;
    padding: 0.2em 0.4em !important;
    border-radius: 3px !important;
    border: 1px solid #e1e4e8 !important;
}

.rubric + p a:hover {
    color: #0366d6 !important;
    background-color: #e1e4e8 !important;
    text-decoration: none !important;
}

/* Improve Notes and Examples sections */
.admonition {
    background-color: #f6f8fa !important;
    border: 1px solid #e1e4e8 !important;
    border-left: 4px solid #0366d6 !important;
    border-radius: 6px !important;
    padding: 1em !important;
    margin: 1.5em 0 !important;
}

/* Nuclear approach: Override ALL possible admonition selectors */
div.admonition p.admonition-title,
div.admonition.seealso p.admonition-title,
div.admonition.note p.admonition-title,
.admonition p.admonition-title,
p.admonition-title,
body div.admonition p.admonition-title,
html body div.admonition p.admonition-title {
    font-size: 0.9em !important;
    font-weight: 700 !important;
    color: #24292e !important;
    background-color: transparent !important;
    padding: 0.3em 0 !important;
    margin-bottom: 0.5em !important;
    font-family: inherit !important;
    display: block !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    border-bottom: 1px solid #e1e4e8 !important;
}

/* Special styling for "See Also" to make it smaller */
div.admonition.seealso p.admonition-title,
.admonition.seealso .admonition-title {
    font-size: 0.75em !important;
    font-weight: 500 !important;
    color: #6a737d !important;
}

/* ===== UNIFIED EXAMPLE SECTION STYLING ===== */

/* Hide the original "Example" rubric since we'll add it as a label */
p.rubric {
    display: none !important;
}

/* Create the unified container starting from the description paragraph */
p.rubric + p {
    background-color: #f6f8fa !important;
    border: 1px solid #d1d5da !important;
    border-radius: 8px 8px 0 0 !important;
    padding: 0 !important;
    margin: 1.5em 0 0 0 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08) !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Add the "💡 Example" header inside the box */
p.rubric + p::before {
    content: "💡 Example";
    display: block !important;
    background-color: #e1e4e8 !important;
    font-size: 0.8em !important;
    font-weight: 600 !important;
    color: #586069 !important;
    padding: 0.6em 1em !important;
    border-bottom: 1px solid #d1d5da !important;
    font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 !important;
}

/* Style the description text content */
p.rubric + p {
    padding: 0.6em 1em 0.8em 1em !important;
    font-size: 0.9em !important;
    color: #24292e !important;
}

/* Make the following code block part of the same unified container */
p.rubric + p + div.highlight-python,
p.rubric + p + div.highlight {
    background-color: #ffffff !important;
    border: 1px solid #d1d5da !important;
    border-top: none !important;
    border-radius: 0 0 8px 8px !important;
    margin: 0 0 1.5em 0 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08) !important;
    padding: 0 !important;
}

/* Style the code within the unified container */
p.rubric + p + div.highlight-python div.highlight,
p.rubric + p + div.highlight div.highlight {
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

p.rubric + p + div.highlight-python pre,
p.rubric + p + div.highlight pre {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 0 0 8px 8px !important;
    padding: 1.2em !important;
    margin: 0 !important;
    font-family: 'Courier New', Monaco, 'Andale Mono', 'Ubuntu Mono', monospace !important;
    font-size: 0.85em !important;
    line-height: 1.6 !important;
}

/* ===== ADDITIONAL FIXES FOR ACTUAL HTML STRUCTURE ===== */

/* Fix ALL code blocks to use Courier New - target actual structure */
.highlight-python .highlight pre,
.highlight-python pre,
div.highlight pre,
.highlight pre {
    font-family: 'Courier New', Monaco, 'Andale Mono', 'Ubuntu Mono', monospace !important;
    font-size: 0.9em !important;
    line-height: 1.6 !important;
    background-color: #ffffff !important;
    border: 1px solid #d1d5da !important;
    border-radius: 8px !important;
    padding: 1.2em !important;
    margin: 1em 0 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* Ensure "See Also" text is small - more specific targeting */
html body div.admonition.seealso p.admonition-title,
body .admonition.seealso .admonition-title,
.document .admonition.seealso p.admonition-title {
    font-size: 0.7em !important;
    font-weight: 500 !important;
    color: #6a737d !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

/* Override red color for "bases" references to BaseService */
.xref.py.py-class {
    color: #555 !important; /* Neutral dark gray instead of red */
}

/* Additional styling for class references */
.reference.internal .xref.py.py-class {
    color: #555 !important;
    text-decoration: none;
}

.reference.internal .xref.py.py-class:hover {
    color: #333 !important;
    text-decoration: underline;
}

/* ===================================================================
   PAGE TITLE TRANSFORMATIONS
   Transform technical module names into user-friendly two-line titles
   =================================================================== */

/* Hide the original title text but only on service pages (not homepage) */
.body section[id*="service"] h1,
.body section[id*="benchling_sdk.services"] h1 {
    font-size: 0 !important;
    line-height: 0;
    margin-bottom: 0;
    position: relative;
    padding-bottom: 20px;
}

/* Keep the permalink anchor visible */
.body h1 .headerlink {
    font-size: 14px;
    line-height: 1;
    position: absolute;
    right: 0;
    top: 20px;
}

/* Friendly service name - first line (large) - only on service pages */
.body section[id*="service"] h1::before,
.body section[id*="benchling_sdk.services"] h1::before {
    content: "";
    display: block;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
    color: #2c3e50;
    margin-bottom: 8px;
}

/* Technical module path - second line (smaller) - only on service pages */
.body section[id*="service"] h1::after,
.body section[id*="benchling_sdk.services"] h1::after {
    content: "";
    display: block;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: #7f8c8d;
    font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
}

/* ===================================================================
   STABLE SERVICES
   =================================================================== */

/* Custom Entity Service */
section[id*="custom_entity_service"]:not([id*="beta"]) h1::before {
    content: "Custom Entity Service";
}
section[id*="custom_entity_service"]:not([id*="beta"]) h1::after {
    content: "benchling_sdk.services.v2.stable.custom_entity_service";
}

/* DNA Sequence Service */
section[id*="dna_sequence_service"]:not([id*="beta"]):not([id*="alpha"]) h1::before {
    content: "DNA Sequence Service";
}
section[id*="dna_sequence_service"]:not([id*="beta"]):not([id*="alpha"]) h1::after {
    content: "benchling_sdk.services.v2.stable.dna_sequence_service";
}

/* AA Sequence Service */
section[id*="aa_sequence_service"]:not([id*="beta"]):not([id*="alpha"]) h1::before {
    content: "AA Sequence Service";
}
section[id*="aa_sequence_service"]:not([id*="beta"]):not([id*="alpha"]) h1::after {
    content: "benchling_sdk.services.v2.stable.aa_sequence_service";
}

/* RNA Sequence Service */
section[id*="rna_sequence_service"]:not([id*="beta"]) h1::before {
    content: "RNA Sequence Service";
}
section[id*="rna_sequence_service"]:not([id*="beta"]) h1::after {
    content: "benchling_sdk.services.v2.stable.rna_sequence_service";
}

/* DNA Oligo Service */
section[id*="dna_oligo_service"]:not([id*="beta"]) h1::before {
    content: "DNA Oligo Service";
}
section[id*="dna_oligo_service"]:not([id*="beta"]) h1::after {
    content: "benchling_sdk.services.v2.stable.dna_oligo_service";
}

/* RNA Oligo Service */
section[id*="rna_oligo_service"]:not([id*="beta"]) h1::before {
    content: "RNA Oligo Service";
}
section[id*="rna_oligo_service"]:not([id*="beta"]) h1::after {
    content: "benchling_sdk.services.v2.stable.rna_oligo_service";
}

/* Entity Service */
section[id*="entity_service"]:not([id*="custom"]):not([id*="beta"]) h1::before {
    content: "Entity Service";
}
section[id*="entity_service"]:not([id*="custom"]):not([id*="beta"]) h1::after {
    content: "benchling_sdk.services.v2.stable.entity_service";
}

/* Entry Service */
section[id*="entry_service"]:not([id*="beta"]) h1::before {
    content: "Entry Service";
}
section[id*="entry_service"]:not([id*="beta"]) h1::after {
    content: "benchling_sdk.services.v2.stable.entry_service";
}

/* App Service */
section[id*="app_service"]:not([id*="beta"]):not([id*="alpha"]) h1::before {
    content: "App Service";
}
section[id*="app_service"]:not([id*="beta"]):not([id*="alpha"]) h1::after {
    content: "benchling_sdk.services.v2.stable.app_service";
}

/* Task Service */
section[id*="task_service"]:not([id*="beta"]):not([id*="alpha"]) h1::before {
    content: "Task Service";
}
section[id*="task_service"]:not([id*="beta"]):not([id*="alpha"]) h1::after {
    content: "benchling_sdk.services.v2.stable.task_service";
}

/* Folder Service */
section[id*="folder_service"]:not([id*="beta"]) h1::before {
    content: "Folder Service";
}
section[id*="folder_service"]:not([id*="beta"]) h1::after {
    content: "benchling_sdk.services.v2.stable.folder_service";
}

/* Project Service */
section[id*="project_service"]:not([id*="beta"]) h1::before {
    content: "Project Service";
}
section[id*="project_service"]:not([id*="beta"]) h1::after {
    content: "benchling_sdk.services.v2.stable.project_service";
}

/* User Service */
section[id*="user_service"]:not([id*="beta"]) h1::before {
    content: "User Service";
}
section[id*="user_service"]:not([id*="beta"]) h1::after {
    content: "benchling_sdk.services.v2.stable.user_service";
}

/* Team Service */
section[id*="team_service"]:not([id*="beta"]) h1::before {
    content: "Team Service";
}
section[id*="team_service"]:not([id*="beta"]) h1::after {
    content: "benchling_sdk.services.v2.stable.team_service";
}

/* Connect Service */
section[id*="connect_service"]:not([id*="beta"]) h1::before {
    content: "Connect Service";
}
section[id*="connect_service"]:not([id*="beta"]) h1::after {
    content: "benchling_sdk.services.v2.stable.connect_service";
}

/* Assay Result Service */
section[id*="assay_result_service"]:not([id*="beta"]) h1::before {
    content: "Assay Result Service";
}
section[id*="assay_result_service"]:not([id*="beta"]) h1::after {
    content: "benchling_sdk.services.v2.stable.assay_result_service";
}

/* Data Frame Service */
section[id*="data_frame_service"]:not([id*="beta"]) h1::before {
    content: "Data Frame Service";
}
section[id*="data_frame_service"]:not([id*="beta"]) h1::after {
    content: "benchling_sdk.services.v2.stable.data_frame_service";
}

/* ===================================================================
   BETA SERVICES
   =================================================================== */

/* Beta Collaboration Service */
section[id*="beta_collaboration_service"] h1::before {
    content: "Collaboration Service";
}
section[id*="beta_collaboration_service"] h1::after {
    content: "benchling_sdk.services.v2.beta.v2_beta_collaboration_service";
}

/* Beta Custom Entity Service */
section[id*="beta_custom_entity_service"] h1::before {
    content: "Custom Entity Service";
}
section[id*="beta_custom_entity_service"] h1::after {
    content: "benchling_sdk.services.v2.beta.v2_beta_custom_entity_service";
}

/* Beta DNA Sequence Service */
section[id*="beta_dna_sequence_service"] h1::before {
    content: "DNA Sequence Service";
}
section[id*="beta_dna_sequence_service"] h1::after {
    content: "benchling_sdk.services.v2.beta.v2_beta_dna_sequence_service";
}

/* Beta App Service */
section[id*="beta_app_service"] h1::before {
    content: "App Service";
}
section[id*="beta_app_service"] h1::after {
    content: "benchling_sdk.services.v2.beta.v2_beta_app_service";
}

/* Beta Data Frame Service */
section[id*="beta_data_frame_service"] h1::before {
    content: "Data Frame Service";
}
section[id*="beta_data_frame_service"] h1::after {
    content: "benchling_sdk.services.v2.beta.v2_beta_data_frame_service";
}

/* ===================================================================
   ALPHA SERVICES
   =================================================================== */

/* Alpha Audit Service */
section[id*="alpha_audit_service"] h1::before {
    content: "Audit Service";
}
section[id*="alpha_audit_service"] h1::after {
    content: "benchling_sdk.services.v2.alpha.v2_alpha_audit_service";
}

/* Alpha DNA Sequence Service */
section[id*="alpha_dna_sequence_service"] h1::before {
    content: "DNA Sequence Service";
}
section[id*="alpha_dna_sequence_service"] h1::after {
    content: "benchling_sdk.services.v2.alpha.v2_alpha_dna_sequence_service";
}

/* ===================================================================
   ADDITIONAL STABLE SERVICES - MISSING TITLES
   =================================================================== */

/* Blob Service */
section[id*="blob_service"]:not([id*="beta"]) h1::before {
    content: "Blob Service";
}
section[id*="blob_service"]:not([id*="beta"]) h1::after {
    content: "benchling_sdk.services.v2.stable.blob_service";
}

/* File Service */
section[id*="file_service"]:not([id*="beta"]) h1::before {
    content: "File Service";
}
section[id*="file_service"]:not([id*="beta"]) h1::after {
    content: "benchling_sdk.services.v2.stable.file_service";
}