/* Discloud brand dark theme for Swagger UI */
/* Palette from https://discloud.com/brand */
:root {
    --dc-bg: #0F0F0F;
    --dc-bg-alt: #0B0B0B;
    --dc-bg-raised: #1A1A1A;
    --dc-border: #262626;
    --dc-text: #FFFAFA;
    --dc-text-muted: #A0A0A0;
    --dc-accent: #57F287;
    --dc-accent-dark: #0B0B0B;
}

::-webkit-scrollbar-track { background-color: rgba(255, 255, 255, .08); }
::-webkit-scrollbar-thumb { background-color: rgba(87, 242, 135, .35); }
::-webkit-scrollbar-thumb:hover { background-color: rgba(87, 242, 135, .55); }

html, body {
    background: var(--dc-bg);
    color: var(--dc-text);
}

.swagger-ui, .swagger-ui section h3 { color: var(--dc-text); }

.swagger-ui a { color: var(--dc-accent); }

.swagger-ui .topbar {
    background-color: var(--dc-bg-alt);
    border-bottom: 2px solid var(--dc-accent);
    border-radius: 6px;
    align-items: center;
}

.swagger-ui .topbar .download-url-wrapper .select-label {
    color: var(--dc-text);
}

.swagger-ui .topbar .download-url-wrapper .select-label select {
    border-color: var(--dc-accent);
    background: var(--dc-bg-raised);
    color: var(--dc-text);
}

.swagger-ui .info .title,
.swagger-ui .info li, .swagger-ui .info p, .swagger-ui .info table {
    color: var(--dc-text);
}

.swagger-ui .info a { color: var(--dc-accent); }

.swagger-ui .scheme-container {
    background: var(--dc-bg-alt);
    box-shadow: none;
    border: 1px solid var(--dc-border);
}

.swagger-ui select {
    background: var(--dc-bg-raised);
    color: var(--dc-text);
    border-color: var(--dc-border);
}

.swagger-ui .opblock-tag {
    color: var(--dc-text);
    border-bottom: 1px solid var(--dc-border);
}

.swagger-ui .opblock-tag small,
.swagger-ui .opblock-tag-section .opblock-tag small {
    color: var(--dc-text-muted);
}

.swagger-ui .opblock-summary-path,
.swagger-ui .opblock-summary-path *,
.swagger-ui .opblock-summary-path__deprecated,
.swagger-ui .opblock-summary-operation-id {
    color: var(--dc-text) !important;
}

.swagger-ui .opblock {
    background: var(--dc-bg-raised);
    border-color: var(--dc-border);
}

.swagger-ui .opblock .opblock-summary-description {
    color: var(--dc-text-muted);
}

.swagger-ui .opblock .opblock-section-header {
    background: var(--dc-bg-alt);
}

.swagger-ui .opblock-description-wrapper p,
.swagger-ui .opblock-external-docs-wrapper p,
.swagger-ui .opblock-title_normal p,
.swagger-ui table thead tr td,
.swagger-ui table thead tr th,
.swagger-ui .response-col_status,
.swagger-ui .response-col_description,
.swagger-ui .parameter__name,
.swagger-ui .parameter__type,
.swagger-ui label {
    color: var(--dc-text);
}

.swagger-ui .parameter__extension, .swagger-ui .parameter__in {
    color: var(--dc-text-muted);
}

.swagger-ui input[type=text], .swagger-ui input[type=password],
.swagger-ui input[type=search], .swagger-ui input[type=email],
.swagger-ui textarea {
    background: var(--dc-bg-alt);
    color: var(--dc-text);
    border-color: var(--dc-border);
}

.swagger-ui .btn {
    color: var(--dc-text);
    border-color: var(--dc-accent);
    background: transparent;
}

.swagger-ui .btn.authorize {
    color: var(--dc-accent);
    border-color: var(--dc-accent);
}

.swagger-ui .btn.authorize svg { fill: var(--dc-accent); }

.swagger-ui .btn.execute {
    background: var(--dc-accent);
    color: var(--dc-accent-dark);
    border-color: var(--dc-accent);
    font-weight: bold;
}

.swagger-ui .btn.cancel {
    background: transparent;
    color: #ff6b6b;
    border-color: #ff6b6b;
}

.swagger-ui .dialog-ux .modal-ux {
    background: var(--dc-bg-raised);
    border: 1px solid var(--dc-border);
}

.swagger-ui .dialog-ux .modal-ux-header {
    border-bottom: 1px solid var(--dc-border);
}

.swagger-ui .dialog-ux .modal-ux-header h3,
.swagger-ui .auth-container h4,
.swagger-ui .auth-container p,
.swagger-ui .auth-container label,
.swagger-ui .auth-container *,
.swagger-ui .dialog-ux .modal-ux-content label {
    color: var(--dc-text) !important;
}

.swagger-ui .dialog-ux .modal-ux-header .close-modal svg {
    fill: var(--dc-text);
}

.swagger-ui .auth-container input[type=text],
.swagger-ui .auth-container input[type=password] {
    background: var(--dc-bg-alt);
    color: var(--dc-text);
    border-color: var(--dc-border);
}

.swagger-ui .auth-btn-wrapper .btn-done {
    color: var(--dc-text);
    border-color: var(--dc-border);
}

.swagger-ui .highlight-code, .swagger-ui .microlight {
    background: var(--dc-bg-alt) !important;
    color: var(--dc-text);
}

.swagger-ui .model-box, .swagger-ui section.models {
    background: var(--dc-bg-raised);
    border-color: var(--dc-border);
}

.swagger-ui section.models { border-color: var(--dc-border); }

.swagger-ui .models-control, .swagger-ui .models-control span,
.swagger-ui section.models h4 {
    color: var(--dc-text) !important;
}

.swagger-ui .model-toggle:after {
    background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%23FFFAFA" d="M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg>') 50% no-repeat !important;
    background-size: 100% !important;
}

.swagger-ui section.models .model-container {
    background: var(--dc-bg-alt);
}

.swagger-ui .model, .swagger-ui .model-title {
    color: var(--dc-text);
}

.swagger-ui .tab li button.tablinks {
    color: var(--dc-text-muted);
}

.swagger-ui .tab li.active button.tablinks {
    color: var(--dc-accent);
}

.swagger-ui .responses-inner h4, .swagger-ui .responses-inner h5 {
    color: var(--dc-text);
}

.swagger-ui .opblock-body pre.microlight {
    background: var(--dc-bg-alt) !important;
}

.swagger-ui svg:not(:root) {
    fill: var(--dc-text);
}

.swagger-ui .opblock-title, .swagger-ui .opblock-title h4,
.swagger-ui h4.opblock-title, .swagger-ui .responses-inner h4,
.swagger-ui .opblock-section-header h4,
.swagger-ui .opblock-section-header label {
    color: var(--dc-text) !important;
}

.swagger-ui .arrow, .swagger-ui button svg, .swagger-ui .opblock-summary-control svg,
.swagger-ui .expand-methods svg, .swagger-ui .expand-operation svg,
.swagger-ui .copy-to-clipboard svg {
    fill: var(--dc-text) !important;
}
