html, body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


.swagger-ui .topbar {
    display: none;
}

.swagger-ui .info {
    margin: 0;
    padding: 50px 0;
}

@media (prefers-color-scheme: dark) {
    .swagger-ui {
        color: #e8e8e8;
        background: #1a1a1a;
    }

    /* Colori di base */
    .swagger-ui .black,
    .swagger-ui .dark-gray,
    .swagger-ui .mid-gray {
        color: #e8e8e8;
    }

    /* Topbar */
    .swagger-ui .topbar {
        background-color: #0a0a0a;
        border-bottom: 1px solid #2d2d2d;
    }

    .swagger-ui .topbar .download-url-wrapper input[type=text],
    .swagger-ui .topbar .download-url-wrapper .select-label select {
        background: #2d2d2d;
        color: #e8e8e8;
        border-color: #3d3d3d;
    }

    /* Info section */
    .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,
    .swagger-ui .info .base-url,
    .swagger-ui .info .title {
        color: #e8e8e8;
    }

    /* Scheme container */
    .swagger-ui .scheme-container {
        background: #2d2d2d;
        box-shadow: 0 1px 2px 0 rgba(0,0,0,.5);
    }

    .swagger-ui .scheme-container .schemes>label {
        color: #e8e8e8;
    }

    /* Opblock */
    .swagger-ui .opblock {
        background: #2d2d2d;
        border-color: #3d3d3d;
        box-shadow: 0 0 3px rgba(255,255,255,.1);
    }

    .swagger-ui .opblock .opblock-section-header {
        background: rgba(45,45,45,.8);
        box-shadow: 0 1px 2px rgba(0,0,0,.3);
    }

    .swagger-ui .opblock .opblock-section-header>label,
    .swagger-ui .opblock .opblock-section-header h4,
    .swagger-ui .opblock .opblock-summary-path,
    .swagger-ui .opblock .opblock-summary-description,
    .swagger-ui .opblock-description-wrapper,
    .swagger-ui .opblock-external-docs-wrapper,
    .swagger-ui .opblock-title_normal {
        color: #e8e8e8;
    }

    .swagger-ui .opblock.is-open .opblock-summary {
        border-bottom-color: #3d3d3d;
    }

    /* Opblock variants - dark theme */
    .swagger-ui .opblock.opblock-get {
        background: rgba(97,175,254,.15);
        border-color: #61affe;
    }

    .swagger-ui .opblock.opblock-post {
        background: rgba(73,204,144,.15);
        border-color: #49cc90;
    }

    .swagger-ui .opblock.opblock-put {
        background: rgba(252,161,48,.15);
        border-color: #fca130;
    }

    .swagger-ui .opblock.opblock-delete {
        background: rgba(249,62,62,.15);
        border-color: #f93e3e;
    }

    .swagger-ui .opblock.opblock-patch {
        background: rgba(80,227,194,.15);
        border-color: #50e3c2;
    }

    /* Responses */
    .swagger-ui .responses-inner {
        background: #1a1a1a;
    }

    .swagger-ui .response-col_status,
    .swagger-ui .response-col_links {
        color: #e8e8e8;
    }

    /* Tables */
    .swagger-ui table thead tr td,
    .swagger-ui table thead tr th {
        color: #e8e8e8;
        border-bottom-color: rgba(232,232,232,.2);
    }

    .swagger-ui table.headers td {
        color: #e8e8e8;
    }

    /* Parameters */
    .swagger-ui .parameter__name,
    .swagger-ui .parameter__type {
        color: #e8e8e8;
    }

    .swagger-ui .parameter__extension,
    .swagger-ui .parameter__in {
        color: #999;
    }

    /* Models */
    .swagger-ui section.models {
        border-color: rgba(232,232,232,.3);
        background: #2d2d2d;
    }

    .swagger-ui section.models h4 {
        color: #e8e8e8;
    }

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

    .swagger-ui .model-box {
        background: rgba(255,255,255,.1);
    }

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

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

    /* Inputs e form */
    .swagger-ui input[type=text],
    .swagger-ui input[type=password],
    .swagger-ui input[type=email],
    .swagger-ui input[type=file],
    .swagger-ui textarea,
    .swagger-ui select {
        background: #2d2d2d;
        color: #e8e8e8;
        border-color: #3d3d3d;
    }

    .swagger-ui select {
        background-image: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='%23e8e8e8' d='M13.418 7.859a.695.695 0 0 1 .978 0 .68.68 0 0 1 0 .969l-3.908 3.83a.697.697 0 0 1-.979 0l-3.908-3.83a.68.68 0 0 1 0-.969.695.695 0 0 1 .978 0L10 11z'/></svg>");
    }

    /* Code e pre */
    .swagger-ui .opblock-body pre.microlight {
        background: #1a1a1a;
        color: #e8e8e8;
    }

    .swagger-ui .highlight-code>.microlight {
        background: #1a1a1a;
    }

    .swagger-ui textarea.curl {
        background: #1a1a1a;
        color: #e8e8e8;
    }

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

    /* Buttons */
    .swagger-ui .btn {
        color: #e8e8e8;
        border-color: #3d3d3d;
    }

    .swagger-ui .opblock-tag {
        border-bottom-color: rgba(232,232,232,.3);
        color: #e8e8e8;
    }

    .swagger-ui .opblock-tag:hover {
        background: rgba(255,255,255,.05);
    }

    .swagger-ui .opblock-tag small {
        color: #e8e8e8;
    }

    /* Auth */
    .swagger-ui .auth-container {
        border-bottom-color: #3d3d3d;
    }

    .swagger-ui .auth-wrapper .authorize {
        color: #e8e8e8;
    }

    /* Filter */
    .swagger-ui .filter .operation-filter-input {
        background: #2d2d2d;
        color: #e8e8e8;
        border-color: #3d3d3d;
    }

    /* JSON Schema */
    .swagger-ui .json-schema-2020-12 {
        background-color: rgba(255,255,255,.05);
    }

    .swagger-ui .json-schema-2020-12__title,
    .swagger-ui .json-schema-2020-12-keyword__name--primary,
    .swagger-ui .json-schema-2020-12-keyword__value--primary {
        color: #e8e8e8;
    }

    /* Dialog */
    .swagger-ui .dialog-ux .modal-ux {
        background: #2d2d2d;
        border-color: #3d3d3d;
    }

    .swagger-ui .dialog-ux .modal-ux-header {
        border-bottom-color: #3d3d3d;
    }

    .swagger-ui .dialog-ux .modal-ux-header h3,
    .swagger-ui .dialog-ux .modal-ux-content p,
    .swagger-ui .dialog-ux .modal-ux-content h4 {
        color: #e8e8e8;
    }

    /* Loading */
    .swagger-ui .loading-container .loading:after {
        color: #e8e8e8;
    }

    /* Tab */
    .swagger-ui .tab li {
        color: #e8e8e8;
    }

    /* Copy to clipboard */
    .swagger-ui .copy-to-clipboard,
    .swagger-ui .download-contents {
        background: #3d3d3d;
    }

    /* Errors */
    .swagger-ui .errors-wrapper {
        background: rgba(249,62,62,.2);
    }

    .swagger-ui .errors-wrapper .errors h4 {
        color: #e8e8e8;
    }
}