:root{
  --bg: #1c1c1c;
  --panel: #181c22;
  --panel-2: #12161c;
  --panel-3: #0f141a;
  --border: #2a313b;
  --text: #f1f5f9;
  --muted: #aab4c0;
}

/* Base */
html, body {
  background: var(--bg) !important;
}
.swagger-ui {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: "Montserrat", sans-serif !important;
}
.swagger-ui .wrapper {
  max-width: 1200px;
}

/* Links discretos */
.swagger-ui a {
  color: #cbd5e1 !important;
}
.swagger-ui a:hover {
  color: #ffffff !important;
}

/* Topbar neutra */
.swagger-ui .topbar {
  background: #14181f !important;
  border-bottom: 1px solid var(--border) !important;
}

/* Info principal */
.swagger-ui .info .title,
.swagger-ui .info p,
.swagger-ui .info li,
.swagger-ui .scheme-container,
.swagger-ui .opblock-tag {
  color: var(--text) !important;
}

/* TAG title (Security Pipeline) */
.swagger-ui .opblock-tag {
  border-bottom: 1px solid var(--border) !important;
}
.swagger-ui .opblock-tag,
.swagger-ui .opblock-tag small,
.swagger-ui .opblock-tag small pre {
  color: var(--text) !important;
}

/* Barra do Authorize (remove branco) */
.swagger-ui .scheme-container{
  background: #1a2029 !important;
  border-top: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
  box-shadow: none !important;
  margin: 0 0 18px 0 !important;
  padding: 14px 24px !important;
}
.swagger-ui .scheme-container,
.swagger-ui .scheme-container *{
  color: var(--text) !important;
}
.swagger-ui .auth-wrapper .authorize{
  background: #2a313b !important;
  color: #fff !important;
  border: 1px solid #3a4350 !important;
}
.swagger-ui .auth-wrapper .authorize:hover{
  background: #343d4a !important;
}

/* Cards endpoint */
.swagger-ui .opblock {
  background: var(--panel) !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* Remove cores por método do Swagger */
.swagger-ui .opblock.opblock-post,
.swagger-ui .opblock.opblock-get,
.swagger-ui .opblock.opblock-put,
.swagger-ui .opblock.opblock-delete,
.swagger-ui .opblock.opblock-patch,
.swagger-ui .opblock.opblock-head,
.swagger-ui .opblock.opblock-options {
  border-color: var(--border) !important;
  background: var(--panel) !important;
}

/* Header do endpoint */
.swagger-ui .opblock .opblock-summary {
  background: #1a2029 !important;
  border-bottom: 1px solid var(--border) !important;
}
.swagger-ui .opblock .opblock-summary-path,
.swagger-ui .opblock .opblock-summary-description,
.swagger-ui .opblock .opblock-summary-method {
  color: var(--text) !important;
}

/* Badge do método sem cores chamativas */
.swagger-ui .opblock .opblock-summary-method {
  background: #2a313b !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

/* Corpo interno */
.swagger-ui .opblock .opblock-body {
  background: var(--panel-2) !important;
  color: var(--text) !important;
}

/* Headers internos */
.swagger-ui .opblock-section-header,
.swagger-ui .parameters-container,
.swagger-ui .responses-wrapper {
  background: #1a2029 !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
.swagger-ui .opblock-section-header h4,
.swagger-ui .parameters-container h4,
.swagger-ui .responses-wrapper h4,
.swagger-ui label,
.swagger-ui .parameter__name,
.swagger-ui .parameter__type,
.swagger-ui .response-col_status,
.swagger-ui .response-col_description {
  color: var(--text) !important;
}

/* Tabelas */
.swagger-ui table thead tr th,
.swagger-ui table thead tr td {
  background: #1a2029 !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
.swagger-ui table tbody tr td {
  background: var(--panel-2) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Inputs */
.swagger-ui input[type=text],
.swagger-ui input[type=password],
.swagger-ui input[type=search],
.swagger-ui input[type=email],
.swagger-ui input[type=url],
.swagger-ui textarea,
.swagger-ui select {
  background: var(--panel-3) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
}

/* Código/JSON */
.swagger-ui pre,
.swagger-ui .microlight,
.swagger-ui .highlight-code,
.swagger-ui .model-box,
.swagger-ui .model-example {
  background: var(--panel-3) !important;
  color: #e5e7eb !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
}

/* Schemas */
.swagger-ui section.models {
  background: #1a2029 !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
}
.swagger-ui section.models h4,
.swagger-ui .models-control,
.swagger-ui .model-title,
.swagger-ui .model,
.swagger-ui .prop-name,
.swagger-ui .prop-type {
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Tabs Example/Schema */
.swagger-ui .tab li button.tablinks {
  background: #202733 !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}
.swagger-ui .tab li.active button.tablinks {
  background: #2a313b !important;
  color: #fff !important;
}

/* Botões neutros */
.swagger-ui .btn,
.swagger-ui button {
  background: #2a313b !important;
  color: #fff !important;
  border: 1px solid #3a4350 !important;
}
.swagger-ui .btn:hover,
.swagger-ui button:hover {
  background: #343d4a !important;
}

/* Modal Authorize (remove branco) */
.swagger-ui .dialog-ux .modal-ux{
  background: #1a2029 !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.45) !important;
}
.swagger-ui .dialog-ux .modal-ux-header{
  background: #202733 !important;
  border-bottom: 1px solid var(--border) !important;
}
.swagger-ui .dialog-ux .modal-ux-content{
  background: #1a2029 !important;
}
.swagger-ui .dialog-ux .modal-ux *,
.swagger-ui .dialog-ux .modal-ux h3,
.swagger-ui .dialog-ux .modal-ux label,
.swagger-ui .dialog-ux .auth-container h4{
  color: var(--text) !important;
}
.swagger-ui .dialog-ux .modal-ux input[type=text],
.swagger-ui .dialog-ux .modal-ux input[type=password]{
  background: var(--panel-3) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}
.swagger-ui .dialog-ux .modal-ux .btn{
  background: #2a313b !important;
  color: #fff !important;
  border: 1px solid #3a4350 !important;
}
.swagger-ui .dialog-ux .modal-ux .btn:hover{
  background: #343d4a !important;
}

/* Remove highlights coloridos */
.swagger-ui .opblock .opblock-summary-method {
  box-shadow: none !important;
}
.swagger-ui .opblock.is-open {
  box-shadow: none !important;
}

/* Responsivo */
@media (max-width: 768px){
  .swagger-ui .wrapper {
    padding: 0 10px !important;
  }
}