/* swagger-auth.css — base styles + auth selector bar for /api/ Swagger UI page */

/* ── Base reset + dark theme ───────────────────────────────────────────────── */
*{margin:0;padding:0;box-sizing:border-box;}
body{background:#0a0a0a;color:#e0e0e0;font-family:'Segoe UI',system-ui,-apple-system,sans-serif;line-height:1.6;min-height:100vh;}

/* ── Nav bar ───────────────────────────────────────────────────────────────── */
nav{display:flex;align-items:center;gap:10px;padding:14px 24px;border-bottom:1px solid #1a1a1a;font-size:0.82rem;position:sticky;top:0;background:rgba(10,10,10,0.95);backdrop-filter:blur(8px);z-index:50;}
.spacer{flex:1;}
#nav-auth{position:relative;}
#nav-auth-btn{background:none;border:1px solid #252525;border-radius:6px;color:#555;font-size:0.78rem;padding:5px 12px;cursor:pointer;font-family:inherit;text-decoration:none;display:inline-block;transition:color .2s,border-color .2s;}
#nav-auth-btn:hover{color:#888;border-color:#333;}
#nav-auth-btn.authed{color:#4ade80;border-color:rgba(74,222,128,0.25);}
#nav-auth-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;background:#111;border:1px solid #1e1e1e;border-radius:8px;min-width:180px;padding:6px;z-index:100;}
#nav-auth-dropdown.open{display:block;}
.nav-dd-item{display:block;padding:8px 12px;color:#666;font-size:0.8rem;text-decoration:none;border-radius:5px;background:none;border:none;width:100%;text-align:left;cursor:pointer;font-family:inherit;transition:background .1s,color .1s;}
.nav-dd-item:hover{background:#161616;color:#ccc;}
.nav-dd-item.danger:hover{color:#f87171;}

/* ── Swagger UI dark-theme overrides ──────────────────────────────────────── */
.swagger-ui { background: #0a0a0a; }
.swagger-ui .topbar { display: none; }
.swagger-ui .info .title { color: #e0e0e0; }
.swagger-ui .scheme-container { background: #0d0d0d; box-shadow: none; border-bottom: 1px solid #1a1a1a; }
.swagger-ui section.models { background: #0d0d0d; border: 1px solid #1a1a1a; border-radius: 4px; }
.swagger-ui .opblock { background: #0d0d0d; border-color: #1e1e1e; }
.swagger-ui .opblock-summary { background: #111; }

/* ── Auth selector bar ─────────────────────────────────────────────────────── */
#auth-selector-bar {
  position: sticky;
  top: 0;
  z-index: 999;
  background: #0d1117;
  border-bottom: 1px solid #1e2a38;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
}

.asb-label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #4a6a8a;
  white-space: nowrap;
  flex-shrink: 0;
}

#asb-method {
  background: #0a0f14;
  border: 1px solid #1e2a38;
  border-radius: 6px;
  color: #a0b4c8;
  font-size: 0.8rem;
  padding: 5px 10px;
  font-family: inherit;
  outline: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: border-color 0.15s;
}
#asb-method:focus { border-color: #2a4a6a; }

#asb-inputs {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  flex: 1;
  min-width: 0;
}

.asb-input {
  background: #0a0f14;
  border: 1px solid #1e2a38;
  border-radius: 6px;
  color: #a0b4c8;
  font-size: 0.78rem;
  padding: 5px 10px;
  font-family: 'Cascadia Code', 'Fira Code', 'Consolas', monospace;
  outline: none;
  min-width: 180px;
  flex: 1;
  transition: border-color 0.15s;
}
.asb-input:focus { border-color: #2a4a6a; }
.asb-input::placeholder { color: #2a3a4a; }
.asb-input-wide { min-width: 260px; }

.asb-note {
  font-size: 0.72rem;
  color: #3a5a7a;
  line-height: 1.5;
  max-width: 420px;
}

.asb-btn {
  font-size: 0.75rem;
  padding: 5px 12px;
  border-radius: 6px;
  border: 1px solid;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s;
}
.asb-btn-primary {
  background: rgba(74, 222, 128, 0.08);
  border-color: rgba(74, 222, 128, 0.3);
  color: #4ade80;
}
.asb-btn-primary:hover { background: rgba(74, 222, 128, 0.15); }
.asb-btn-primary:disabled { opacity: 0.4; cursor: not-allowed; }

.asb-btn-secondary {
  background: none;
  border-color: #1e2a38;
  color: #4a6a8a;
}
.asb-btn-secondary:hover { border-color: #2a4a6a; color: #8ab0d0; }
.asb-btn-secondary:disabled { opacity: 0.4; cursor: not-allowed; }

#asb-status {
  font-size: 0.72rem;
  flex-shrink: 0;
  transition: color 0.2s;
}
.asb-status-ok  { color: #4ade80; }
.asb-status-err { color: #f87171; }
