/* ParsiTrade API docs — match dashboard Dark/Gold theme */
:root {
  --bg: #0A0A0A;
  --surface: #121212;
  --card: #1A1A1A;
  --border: #252525;
  --gold: #D4AF37;
  --gold-dim: #A88A1E;
  --gold-glow: rgba(212, 175, 55, 0.15);
  --text: #E8E8E8;
  --muted: #888;
}

html, body {
  margin: 0;
  padding: 0;
  background: var(--bg) !important;
  color: var(--text);
  font-family: 'Vazirmatn', 'Inter', system-ui, -apple-system, sans-serif !important;
}

/* ── Shared docs chrome ── */
.pt-docs-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 0.85rem 1.5rem;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 1000;
}
.pt-docs-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  color: var(--text);
}
.pt-docs-logo {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--gold), var(--gold-dim));
  color: #000;
  font-weight: 800;
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pt-docs-title { font-weight: 700; color: var(--gold); font-size: 1rem; }
.pt-docs-sub { font-size: 0.72rem; color: var(--muted); }
.pt-docs-nav { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.pt-docs-nav a {
  color: var(--muted);
  text-decoration: none;
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 0.3rem 0.7rem;
  font-size: 0.78rem;
}
.pt-docs-nav a:hover,
.pt-docs-nav a.active {
  color: var(--gold);
  border-color: var(--gold-dim);
  background: var(--gold-glow);
  text-decoration: none;
}

/* ── Swagger UI overrides ── */
.swagger-ui {
  background: var(--bg);
  color: var(--text);
}
.swagger-ui .topbar { display: none; }

.swagger-ui .info {
  margin: 1.5rem 0;
}
.swagger-ui .info .title,
.swagger-ui .info h1,
.swagger-ui .info h2,
.swagger-ui .info h3,
.swagger-ui .info li,
.swagger-ui .info p,
.swagger-ui .info table,
.swagger-ui .opblock-tag,
.swagger-ui .opblock-summary-path,
.swagger-ui .opblock-summary-description,
.swagger-ui .parameter__name,
.swagger-ui .parameter__type,
.swagger-ui .response-col_status,
.swagger-ui .response-col_description,
.swagger-ui .tab li,
.swagger-ui .model-title,
.swagger-ui table thead tr td,
.swagger-ui table thead tr th,
.swagger-ui .response-col_links,
.swagger-ui label,
.swagger-ui .btn,
.swagger-ui select {
  color: var(--text) !important;
  font-family: inherit !important;
}

.swagger-ui .info .title { color: var(--gold) !important; }
.swagger-ui .info a { color: var(--gold) !important; }

.swagger-ui .scheme-container {
  background: var(--surface) !important;
  box-shadow: none !important;
  border-bottom: 1px solid var(--border);
}

.swagger-ui .opblock-tag {
  border-bottom: 1px solid var(--border) !important;
}
.swagger-ui .opblock-tag:hover { background: transparent !important; }

.swagger-ui .opblock {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  margin: 0 0 0.75rem !important;
}
.swagger-ui .opblock .opblock-summary {
  border: none !important;
}
.swagger-ui .opblock.opblock-get { border-color: rgba(88, 166, 255, 0.35) !important; }
.swagger-ui .opblock.opblock-post { border-color: rgba(39, 174, 96, 0.35) !important; }
.swagger-ui .opblock.opblock-put { border-color: rgba(212, 175, 55, 0.4) !important; }
.swagger-ui .opblock.opblock-delete { border-color: rgba(231, 76, 60, 0.4) !important; }

.swagger-ui .opblock .opblock-section-header {
  background: var(--surface) !important;
  box-shadow: none !important;
}
.swagger-ui .opblock-body pre.microlight,
.swagger-ui .highlight-code,
.swagger-ui .microlight {
  background: #0d0d0d !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
}

.swagger-ui input[type=text],
.swagger-ui input[type=password],
.swagger-ui input[type=search],
.swagger-ui input[type=email],
.swagger-ui input[type=file],
.swagger-ui textarea,
.swagger-ui select {
  background: var(--bg) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 6px !important;
  outline: none !important;
}
.swagger-ui input:focus,
.swagger-ui textarea:focus,
.swagger-ui select:focus {
  border-color: var(--gold-dim) !important;
}

.swagger-ui .btn {
  border-radius: 6px !important;
  box-shadow: none !important;
}
.swagger-ui .btn.execute {
  background: var(--gold) !important;
  color: #000 !important;
  border-color: var(--gold) !important;
  font-weight: 700;
}
.swagger-ui .btn.execute:hover {
  background: var(--gold-dim) !important;
}
.swagger-ui .btn.authorize {
  color: var(--gold) !important;
  border-color: var(--gold) !important;
}
.swagger-ui .authorization__btn { fill: var(--gold) !important; }

.swagger-ui .dialog-ux .modal-ux {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: 10px !important;
}
.swagger-ui .dialog-ux .modal-ux-header {
  border-bottom: 1px solid var(--border) !important;
}
.swagger-ui .dialog-ux .modal-ux-header h3,
.swagger-ui .dialog-ux label,
.swagger-ui .dialog-ux p {
  color: var(--text) !important;
}

.swagger-ui section.models {
  border: 1px solid var(--border) !important;
  background: var(--card) !important;
  border-radius: 10px !important;
}
.swagger-ui section.models h4 { color: var(--gold) !important; }
.swagger-ui .model-box { background: transparent !important; }
.swagger-ui .model { color: var(--text) !important; }

.swagger-ui .response-col_description__inner p,
.swagger-ui .parameter__default,
.swagger-ui .parameter__extension,
.swagger-ui table.model tr.description td {
  color: var(--muted) !important;
}

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

.swagger-ui .opblock-description-wrapper p,
.swagger-ui .opblock-external-docs-wrapper p,
.swagger-ui .opblock-title_normal p,
.swagger-ui .renderedMarkdown p,
.swagger-ui .renderedMarkdown li {
  color: var(--muted) !important;
}
.swagger-ui table tbody tr td { color: var(--text) !important; border-color: var(--border) !important; }
.swagger-ui .opblock-body { background: transparent !important; }
.swagger-ui .parameters-container,
.swagger-ui .responses-wrapper {
  background: transparent !important;
}
.swagger-ui .loading-container .loading::after { border-color: var(--gold) transparent var(--gold) transparent !important; }

/* ── ReDoc overrides (fallback around native theme) ── */
redoc, .redoc-wrap, .redoc-container, [data-role="redoc"] {
  background: var(--bg) !important;
  color: var(--text) !important;
}
.redoc-wrap {
  background: var(--bg) !important;
}
.menu-content {
  background: var(--surface) !important;
  border-inline-end: 1px solid var(--border) !important;
}
.menu-content label,
.menu-content a,
.menu-content li,
.menu-content span,
.menu-content div,
.menu-content p {
  color: var(--text) !important;
}
.menu-content label {
  background: transparent !important;
}
.menu-content label:hover,
.menu-content a:hover {
  background: var(--gold-glow) !important;
  color: var(--gold) !important;
}
.api-content {
  background: var(--bg) !important;
  color: var(--text) !important;
}
.api-content h1,
.api-content h2,
.api-content h3,
.api-content h4,
.api-content h5 {
  color: var(--gold) !important;
}
.api-content p,
.api-content li,
.api-content td,
.api-content th,
.api-content span,
.api-content label {
  color: var(--text) !important;
}
.api-content table,
.api-content tr,
.api-content td,
.api-content th {
  background: var(--card) !important;
  border-color: var(--border) !important;
}
.api-content table thead tr,
.api-content table thead th {
  background: var(--surface) !important;
  color: var(--gold) !important;
}
/* Parameter / response row cards that ReDoc paints near-white */
.api-content > div > div,
.api-content [class*="sc-"] {
  border-color: var(--border);
}
redoc [role="search"] input,
.menu-content input,
.api-content select,
.api-content .dropdown-select,
redoc select {
  background: var(--card) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 6px !important;
}
.redoc-wrap * {
  scrollbar-color: var(--border) var(--surface);
}
/* Response status tabs (default near-white) */
.react-tabs__tab,
.api-content li[class*="tab-"],
.api-content .react-tabs__tab--selected {
  background: var(--surface) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
.react-tabs__tab--selected.tab-success,
li.tab-success.react-tabs__tab--selected {
  background: rgba(39, 174, 96, 0.18) !important;
  color: #27AE60 !important;
}
.react-tabs__tab--selected.tab-error,
li.tab-error.react-tabs__tab--selected {
  background: rgba(231, 76, 60, 0.18) !important;
  color: #E74C3C !important;
}
/* Soften remaining light panels without fighting method badges */
.api-content div[style*="background: rgb(250"],
.api-content div[style*="background:#fafafa"],
.api-content div[style*="background: #fafafa"],
.api-content div[style*="background-color: rgb(250"],
.menu-content label[style*="background: rgb(250"],
.menu-content label[style*="background-color: rgb(250"] {
  background: var(--card) !important;
}
