/* Swagger UI Dark Mode - Refined for better readability */
body, .swagger-ui {
    background-color: #1e1e1e;
    color: #e0e0e0;
}

.swagger-ui .topbar {
    background-color: #2d2d2d;
}

.swagger-ui .topbar .download-url-wrapper input[type=text] {
    background: #3c3c3c;
    color: #e0e0e0;
    border-color: #555;
}

.swagger-ui .topbar .download-url-wrapper .download-url-button {
    background: #4a4a4a;
    color: #fff;
}

.swagger-ui .info .title,
.swagger-ui .info h1,
.swagger-ui .info h2,
.swagger-ui .info h3,
.swagger-ui .info h4,
.swagger-ui .info h5,
.swagger-ui .info li,
.swagger-ui .info p,
.swagger-ui .info table {
    color: #e0e0e0;
}

.swagger-ui .info a,
.swagger-ui .info a:hover {
    color: #7fbfff;
}

.swagger-ui .scheme-container {
    background: #2d2d2d;
}

.swagger-ui select {
    background: #3c3c3c;
    color: #e0e0e0;
    border-color: #555;
}

.swagger-ui .opblock-tag {
    border-bottom: 1px solid #444;
    color: #e0e0e0;
}

.swagger-ui .opblock {
    background: #2d2d2d;
    border-color: #444;
}

.swagger-ui .opblock .opblock-summary-method {
    background: #4a4a4a;
}

.swagger-ui .opblock .opblock-summary-operation-id,
.swagger-ui .opblock .opblock-summary-path,
.swagger-ui .opblock .opblock-summary-path__deprecated {
    color: #e0e0e0;
}

.swagger-ui .opblock .opblock-summary-description {
    color: #e0e0e0;
}

.swagger-ui .opblock-description-wrapper p,
.swagger-ui .opblock-external-docs-wrapper p,
.swagger-ui .opblock-title_normal p {
    color: #e0e0e0;
}

.swagger-ui .opblock .opblock-section-header {
    background: #3c3c3c;
}

.swagger-ui .opblock .opblock-section-header h4 {
    color: #e0e0e0;
}

.swagger-ui .opblock .opblock-summary {
    border-color: #444;
}

.swagger-ui .opblock-body pre.microlight {
    background: #2d2d2d;
    border: 1px solid #444;
    color: #e0e0e0;
}

.swagger-ui .model-box {
    background: #2d2d2d;
    border-color: #444;
}

.swagger-ui .model {
    color: #e0e0e0;
}

.swagger-ui .model-title {
    color: #e0e0e0;
}

.swagger-ui .model .property {
    color: #e0e0e0;
}

.swagger-ui table thead tr td,
.swagger-ui table thead tr th {
    color: #e0e0e0;
    border-bottom: 1px solid #444;
}

.swagger-ui .parameter__name {
    color: #e0e0e0;
}

.swagger-ui .parameter__name.required:after {
    color: #ff6b6b;
}

.swagger-ui input[type=email],
.swagger-ui input[type=file],
.swagger-ui input[type=password],
.swagger-ui input[type=search],
.swagger-ui input[type=text],
.swagger-ui textarea {
    background: #3c3c3c;
    color: #e0e0e0;
    border: 1px solid #555;
}

.swagger-ui button {
    background: #4a4a4a;
    color: #fff;
    border-color: #666;
}

.swagger-ui button:hover {
    background: #5a5a5a;
}

.swagger-ui .btn {
    border-color: #666;
}

.swagger-ui .btn.authorize {
    border-color: #49cc90;
    color: #49cc90;
}

.swagger-ui .btn.authorize svg {
    fill: #49cc90;
}

/* Adjusting the color of specific elements */
.swagger-ui .opblock-body pre.microlight .headerline {
    color: #7fbfff;
}

.swagger-ui .opblock-body pre.microlight .string {
    color: #92d4ff;
}

.swagger-ui .opblock-body pre.microlight .number {
    color: #ff9580;
}

.swagger-ui .opblock-body pre.microlight .boolean {
    color: #ffbf00;
}

.swagger-ui .opblock-body pre.microlight .null {
    color: #ff6b6b;
}

/* Improving readability for description text and JSON content */
.swagger-ui .markdown p,
.swagger-ui .markdown pre,
.swagger-ui .renderedMarkdown p,
.swagger-ui .renderedMarkdown pre {
    color: #e0e0e0;
}

.swagger-ui .markdown code,
.swagger-ui .renderedMarkdown code {
    background: rgba(255, 255, 255, 0.1);
    color: #e0e0e0;
}

.swagger-ui .opblock-description-wrapper,
.swagger-ui .opblock-external-docs-wrapper,
.swagger-ui .opblock-title_normal {
    color: #e0e0e0;
}

/* Enhancing contrast for JSON content */
.swagger-ui .prop-type {
    color: #7fbfff;
}

.swagger-ui .prop-format {
    color: #d0d0d0;
}

.swagger-ui .json-schema-form-item {
    color: #e0e0e0;
}

/* Improving visibility of parameter descriptions */
.swagger-ui .parameter__description,
.swagger-ui .response-col_description {
    color: #d0d0d0;
}

/* Enhancing readability of example values */
.swagger-ui .example {
    color: #b0b0b0;
}

/* Making sure all text in the operations are readable */
.swagger-ui .opblock-tag,
.swagger-ui .opblock .opblock-section-header h4,
.swagger-ui .opblock-description-wrapper p,
.swagger-ui .opblock-external-docs-wrapper p,
.swagger-ui .opblock-title_normal p {
    color: #e0e0e0;
}

/* Ensuring good contrast for response codes */
.swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5 {
    color: #e0e0e0;
}

.swagger-ui .response-col_status {
    color: #92d4ff;
}

/* Making sure the models section is readable */
.swagger-ui section.models h4 {
    color: #e0e0e0;
}

.swagger-ui section.models .model-container {
    background: rgba(255, 255, 255, 0.1);
}

/* Improving the contrast of the "Try it out" button */
.swagger-ui .try-out__btn {
    background-color: #4a4a4a;
    color: #fff;
    border-color: #666;
}

.swagger-ui .try-out__btn:hover {
    background-color: #5a5a5a;
}
