/* ============================================================
   SWAGGER UI — COMPLETE DARK MODE THEME
   Place this in /public/swagger-theme.css
   ============================================================ */

/* ── Toggle Button ────────────────────────────────────────── */
#theme-toggle {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 9999;
  padding: 8px 16px;
  border-radius: 6px;
  border: 1px solid #ccc;
  cursor: pointer;
  font-size: 14px;
  background: #fff;
  color: #333;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease;
}

/* ── Page Base ────────────────────────────────────────────── */
body.dark-mode {
  background: #0d1117 !important;
}

body.dark-mode .swagger-ui {
  background: #0d1117 !important;
  color: #c9d1d9 !important;
}

/* ── Top Header Bar ───────────────────────────────────────── */
body.dark-mode .swagger-ui .topbar {
  background: #161b22 !important;
  border-bottom: 1px solid #30363d !important;
}

body.dark-mode .swagger-ui .topbar .download-url-wrapper input {
  background: #21262d !important;
  color: #c9d1d9 !important;
  border-color: #30363d !important;
}

body.dark-mode .swagger-ui .topbar .download-url-button {
  background: #238636 !important;
  color: #fff !important;
}

/* ── Info Section (title, description at top) ─────────────── */
body.dark-mode .swagger-ui .info {
  background: #0d1117 !important;
}

body.dark-mode .swagger-ui .info .title,
body.dark-mode .swagger-ui .info h1,
body.dark-mode .swagger-ui .info h2,
body.dark-mode .swagger-ui .info h3,
body.dark-mode .swagger-ui .info p,
body.dark-mode .swagger-ui .info li,
body.dark-mode .swagger-ui .info a {
  color: #c9d1d9 !important;
}

body.dark-mode .swagger-ui .info .base-url {
  color: #8b949e !important;
}

/* ── Scheme / Server selector ─────────────────────────────── */
body.dark-mode .swagger-ui .scheme-container {
  background: #161b22 !important;
  border-bottom: 1px solid #30363d !important;
  box-shadow: none !important;
}

body.dark-mode .swagger-ui .schemes > label,
body.dark-mode .swagger-ui .schemes select {
  color: #c9d1d9 !important;
  background: #21262d !important;
  border-color: #30363d !important;
}

/* ── Authorize Button ─────────────────────────────────────── */
body.dark-mode .swagger-ui .btn.authorize {
  background: #21262d !important;
  color: #58a6ff !important;
  border-color: #58a6ff !important;
}

body.dark-mode .swagger-ui .btn.authorize svg {
  fill: #58a6ff !important;
}

/* ── Tag / Section Headers (e.g. "Transactions", "Users") ─── */
body.dark-mode .swagger-ui .opblock-tag {
  background: #161b22 !important;
  border-bottom: 1px solid #30363d !important;
  color: #e6edf3 !important;
}

body.dark-mode .swagger-ui .opblock-tag:hover {
  background: #1c2128 !important;
}

body.dark-mode .swagger-ui .opblock-tag small {
  color: #8b949e !important;
}

body.dark-mode .swagger-ui .opblock-tag svg {
  fill: #8b949e !important;
}

/* ── Route Blocks (collapsed state) ──────────────────────── */
body.dark-mode .swagger-ui .opblock {
  background: #161b22 !important;
  border-color: #30363d !important;
  box-shadow: none !important;
  margin-bottom: 4px !important;
}

body.dark-mode .swagger-ui .opblock .opblock-summary {
  background: #161b22 !important;
  border-color: #30363d !important;
}

body.dark-mode .swagger-ui .opblock .opblock-summary:hover {
  background: #1c2128 !important;
}

body.dark-mode .swagger-ui .opblock-summary-path,
body.dark-mode .swagger-ui .opblock-summary-path__deprecated {
  color: #e6edf3 !important;
}

body.dark-mode .swagger-ui .opblock-summary-description {
  color: #8b949e !important;
}

body.dark-mode .swagger-ui .opblock-summary-operation-id {
  color: #8b949e !important;
}

/* ── HTTP Method badges (POST, GET, etc.) ─────────────────── */
body.dark-mode .swagger-ui .opblock.opblock-post {
  border-color: #238636 !important;
  background: #0d1117 !important;
}
body.dark-mode .swagger-ui .opblock.opblock-post .opblock-summary {
  background: #0d2818 !important;
}

body.dark-mode .swagger-ui .opblock.opblock-get {
  border-color: #1f6feb !important;
  background: #0d1117 !important;
}
body.dark-mode .swagger-ui .opblock.opblock-get .opblock-summary {
  background: #0d1f3c !important;
}

body.dark-mode .swagger-ui .opblock.opblock-put {
  border-color: #9e6a03 !important;
  background: #0d1117 !important;
}
body.dark-mode .swagger-ui .opblock.opblock-put .opblock-summary {
  background: #271d08 !important;
}

body.dark-mode .swagger-ui .opblock.opblock-patch {
  border-color: #9e6a03 !important;
  background: #0d1117 !important;
}
body.dark-mode .swagger-ui .opblock.opblock-patch .opblock-summary {
  background: #271d08 !important;
}

body.dark-mode .swagger-ui .opblock.opblock-delete {
  border-color: #da3633 !important;
  background: #0d1117 !important;
}
body.dark-mode .swagger-ui .opblock.opblock-delete .opblock-summary {
  background: #2d1117 !important;
}

/* ── Route Block OPEN (expanded) ──────────────────────────── */
body.dark-mode .swagger-ui .opblock-body {
  background: #161b22 !important;
}

/* The long description text (your original issue) */
body.dark-mode .swagger-ui .opblock-description-wrapper,
body.dark-mode .swagger-ui .opblock-description-wrapper p,
body.dark-mode .swagger-ui .opblock-description-wrapper div {
  background: #161b22 !important;
  color: #c9d1d9 !important;
}

body.dark-mode .swagger-ui .markdown p,
body.dark-mode .swagger-ui .markdown li,
body.dark-mode .swagger-ui .renderedMarkdown p,
body.dark-mode .swagger-ui .renderedMarkdown li,
body.dark-mode .swagger-ui .renderedMarkdown a {
  color: #c9d1d9 !important;
}

/* ── Parameters Section ───────────────────────────────────── */
body.dark-mode .swagger-ui .opblock-section-header {
  background: #1c2128 !important;
  border-bottom: 1px solid #30363d !important;
}

body.dark-mode .swagger-ui .opblock-section-header h4,
body.dark-mode .swagger-ui .opblock-section-header label {
  color: #e6edf3 !important;
}

body.dark-mode .swagger-ui table.parameters {
  background: #161b22 !important;
}

body.dark-mode .swagger-ui table.parameters tr,
body.dark-mode .swagger-ui table.parameters td,
body.dark-mode .swagger-ui table.parameters th {
  background: #161b22 !important;
  color: #c9d1d9 !important;
  border-color: #30363d !important;
}

body.dark-mode .swagger-ui .parameter__name {
  color: #e6edf3 !important;
}

body.dark-mode .swagger-ui .parameter__type,
body.dark-mode .swagger-ui .parameter__deprecated,
body.dark-mode .swagger-ui .parameter__in {
  color: #8b949e !important;
}

body.dark-mode .swagger-ui .parameter__name.required::after {
  color: #f85149 !important;
}

/* "No parameters" label */
body.dark-mode .swagger-ui .no-margin,
body.dark-mode .swagger-ui .opblock-body p {
  color: #8b949e !important;
}

/* ── Request Body ─────────────────────────────────────────── */
body.dark-mode .swagger-ui .opblock-body .opblock-section {
  background: #161b22 !important;
}

body.dark-mode .swagger-ui .content-type-wrapper,
body.dark-mode .swagger-ui .content-type {
  background: #21262d !important;
  color: #c9d1d9 !important;
  border-color: #30363d !important;
}

body.dark-mode .swagger-ui select {
  background: #21262d !important;
  color: #c9d1d9 !important;
  border-color: #30363d !important;
}

/* ── Code / JSON editor areas ─────────────────────────────── */
body.dark-mode .swagger-ui .body-param__text,
body.dark-mode .swagger-ui textarea {
  background: #0d1117 !important;
  color: #c9d1d9 !important;
  border-color: #30363d !important;
}

body.dark-mode .swagger-ui .microlight {
  background: #161b22 !important;
  color: #c9d1d9 !important;
}

/* ── Try it out / Execute buttons ─────────────────────────── */
body.dark-mode .swagger-ui .try-out__btn {
  background: #21262d !important;
  color: #58a6ff !important;
  border-color: #58a6ff !important;
}

body.dark-mode .swagger-ui .btn.execute {
  background: #1f6feb !important;
  color: #fff !important;
  border-color: #1f6feb !important;
}

body.dark-mode .swagger-ui .btn.cancel {
  background: #21262d !important;
  color: #f85149 !important;
  border-color: #f85149 !important;
}

/* ── Response section ─────────────────────────────────────── */
body.dark-mode .swagger-ui .responses-wrapper {
  background: #161b22 !important;
}

body.dark-mode .swagger-ui .responses-inner {
  background: #161b22 !important;
}

body.dark-mode .swagger-ui .response-col_status {
  color: #c9d1d9 !important;
}

body.dark-mode .swagger-ui .response-col_description {
  color: #c9d1d9 !important;
}

body.dark-mode .swagger-ui table.responses-table tr,
body.dark-mode .swagger-ui table.responses-table td,
body.dark-mode .swagger-ui table.responses-table th {
  background: #161b22 !important;
  color: #c9d1d9 !important;
  border-color: #30363d !important;
}

body.dark-mode .swagger-ui .response-control-media-type__accept-message {
  color: #8b949e !important;
}

/* ── Models section (bottom of page) ─────────────────────── */
body.dark-mode .swagger-ui section.models {
  background: #161b22 !important;
  border-color: #30363d !important;
}

body.dark-mode .swagger-ui section.models .model-container {
  background: #0d1117 !important;
  border-color: #30363d !important;
}

body.dark-mode .swagger-ui section.models h4,
body.dark-mode .swagger-ui section.models h5,
body.dark-mode .swagger-ui .model-title {
  color: #e6edf3 !important;
}

body.dark-mode .swagger-ui .model {
  color: #c9d1d9 !important;
}

body.dark-mode .swagger-ui .model-toggle {
  background: #161b22 !important;
}

body.dark-mode .swagger-ui table.model tr,
body.dark-mode .swagger-ui table.model td {
  color: #c9d1d9 !important;
  border-color: #30363d !important;
}

body.dark-mode .swagger-ui .prop-type {
  color: #79c0ff !important;
}

body.dark-mode .swagger-ui .prop-format {
  color: #8b949e !important;
}

/* ── Input fields (Try it out form) ──────────────────────── */
body.dark-mode .swagger-ui input[type='text'],
body.dark-mode .swagger-ui input[type='password'],
body.dark-mode .swagger-ui input[type='search'],
body.dark-mode .swagger-ui input[type='email'] {
  background: #21262d !important;
  color: #c9d1d9 !important;
  border-color: #30363d !important;
}

body.dark-mode .swagger-ui input[type='text']:focus,
body.dark-mode .swagger-ui input[type='password']:focus {
  border-color: #58a6ff !important;
  outline: none !important;
}

/* ── Auth modal ───────────────────────────────────────────── */
body.dark-mode .swagger-ui .dialog-ux .modal-ux {
  background: #161b22 !important;
  border-color: #30363d !important;
}

body.dark-mode .swagger-ui .dialog-ux .modal-ux-header {
  background: #1c2128 !important;
  border-bottom: 1px solid #30363d !important;
}

body.dark-mode .swagger-ui .dialog-ux .modal-ux-header h3 {
  color: #e6edf3 !important;
}

body.dark-mode .swagger-ui .dialog-ux .modal-ux-content p,
body.dark-mode .swagger-ui .dialog-ux .modal-ux-content h4,
body.dark-mode .swagger-ui .dialog-ux .modal-ux-content label {
  color: #c9d1d9 !important;
}

body.dark-mode .swagger-ui .dialog-ux .modal-ux-content input {
  background: #21262d !important;
  color: #c9d1d9 !important;
  border-color: #30363d !important;
}

/* ── Scrollbar ────────────────────────────────────────────── */
body.dark-mode ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

body.dark-mode ::-webkit-scrollbar-track {
  background: #0d1117;
}

body.dark-mode ::-webkit-scrollbar-thumb {
  background: #30363d;
  border-radius: 4px;
}

body.dark-mode ::-webkit-scrollbar-thumb:hover {
  background: #484f58;
}